Ten cuidado con esta línea:
$totalfilas = mysql_num_rows($Result) or die (mysql_error());
Cuando usas "or", quiere decir que si el término de la izquierda es "false", se ejecuta lo de la derecha (die(...)).
Pero también recuerda que true y false son valores booleanos 0 y 1. Así que si hay cero resultados, el término de la izquierda pasará a tomar el valor "0", se interpretará como false y se ejecutará el die().
Por eso no utilices "or die(...)" junto con mysql_num_rows(), porque tendrás un comportamiento inesperado.
Saludos