Hola,
$result es false cuando se produce un error al ejecutar la consulta. Una consulta que devuelve 0 registros es correcta, y devuelve un result de true. Para comprobar que no ha devuelto registros, usa la funcion mysql_num_rows() (
www.php.net/mysql_num_rows).
Saludos.