Tom,
You should only need one list() line. Simply add a new $row line if 0 rows are found and it will overwrite the previous value of $row.
if(@mysql_num_rows($row)==0) $row = mysql_query("select uid,fname,lname,email,user1,user2,user3 from lm_users where list = 1 and user3 = 1246;");
list($uid,$fname,$lname,$email,$user1,$user2,$user3)=mysql_fetch_row($row);
Regards