A general rule of thumb would be:
Use mysql_result() when SELECTing a single column.
Use mysql_fetch_array(), mysql_fetch_assoc() or mysql_fetch_row() when SELECTing multiple columns.
But actually, since the mysql_fetch_*() functions can work with just a single row, one may simply forgo the use of mysql_result().
what is the size - how many records - where one should start considering using the mysql_fetch_row() functions instead of the mysql_result function?
Profile your code to find out, but I generally wouldnt bother with mysql_result().