Por lo que ví en tu código creo que el error está en que el enlace a la Bd. lo haces sólo una vez, sin embargo varias veces (condicionadas por supuesto) cierras la conexión.
Si cierras la conexión al enlace de la base de datos, entonces debes volevr a abrirlo, de modo que puedas usar en una nueva instancia dicha base de datos.
Creo tb. que la solución a tu problema de repetición está en sólo liberar el recordset sin cerrar el enlace:
Cita: mysql_free_result($recordset);
# mysql_close($enlace); <--- eliminar ésta linea y dejar sólo una en todo el script o usarla sólo cuando sea necesario.
Espero te ayude.
Saludos.