Use the MySQL SEC_TO_TIME function.
Example:
mysql> SELECT SEC_TO_TIME(2378);
-> '00:39:38'
So you can write your SQL query as:
SELECT username, score, SEC_TO_TIME(timeran) as timetaken FROM gamescores ORDER BY Time DESC
Your code then becomes:
<?php
$result = mysql_query("SELECT username, score, SEC_TO_TIME(timeran) as timetaken FROM gamescores ORDER BY Time DESC");
if (mysql_num_rows($result)) {
for($rank=1; $row = mysql_fetch_assoc($result); $rank++) {
echo "<tr>
<td>{$rank}</td>
<td>{$row['username']}</td>
<td>{$row['timetaken']}</td>
<td>{$row['score']}</td>