Du kan løse problemet med subqueries:
<?php
$username = "BRUGER_NAVN";
mysql_query("SET @row = 0");
$result = mysql_query("SELECT * FROM (SELECT @row := @row + 1 AS Row, user AS User FROM users ORDER BY point DESC) AS point_table WHERE User = '$username'");
$r=mysql_fetch_array($result);
echo "User: $username<br/>Rang: " . $r["Row"] . "<br/>";
?>
For mere info se:
http://forums.mysql.com/read.php?10,36490,36511#msg-36511
Husk i øvrigt at du er nødt til at nulstille counteren hver gang du skal lave kaldet, da den ellers bare vil fortsætte med at tælle opad. Dvs. at du er nødt til at kalde mysql_query("SET @row = 0") inden du kalder $result = mysql_query("SELECT * FROM (SELECT @row := @row + 1 AS Row, user AS User FROM users ORDER BY point DESC) AS point_table WHERE User = '$username'")
hver gang!
Lige en note: Jeg har testet denne metode på en database med 20 brugere med tilfældige point. Det kan være du er nødt til at videre udvikle koceptet for at tage højde for to brugere der har samme antal point.