Cita: al generar la consulta me sale el error de que excedi el maximo de consultas :S
Si eso es lo que te devuelve MySQL, el problema no lo resolverás con
mysql_free_result(), porque lo que tienes no es una falta de recursos, sino que has excedido los límites de tus permisos de usuario.
Ocasionalmente, se da permisos a un usuario para hacer un máximo de cierto número de consultas/hora. Si lo excedes, simplemente no podrás hacer nada hasta que no haya pasado una hora.
Esa es una de las razones por las que hacer consultas en un while se considera una pésima práctica, desde el punto de vista de las bases de datos y su performance. Antes bien es mejor crear una consulta tal que te traiga todo lo que lograrías haciendo el while.