El problema es porque estás usando la misma variable
$ConsultaCategoria para todo:
Al final la variable $ConsultaCategoria termina en false por la función mysql_fetch_assoc y se pierde el resultado (resource) que proviene de mysql_query (Necesario por la función mysql_num_rows).
Tampoco tiene porque estar mysql_num_rows dentro del bucle.
Saludos.