Es completamente normal, pues en el siguiente código:
Código PHP:
if ($row = mysql_fetch_array($result))
Con la instrucción mysql_fetch_array() ya estás recorriendo el puntero una posición, por ende, las siguientes veces que ejecutas dicha instrucción en tu bucle que arma la tabla el primer registro ya no está presente.
Simplemente esta mal esa linea que haces, esa no es la forma correcta de comprobar los registros.
Debes cambiarla por algo así:
Código PHP:
if (mysql_num_rows($result))