Mi sencilla aplicación en lenguaje C (ISAM, sin transacciones) se ejecuta durante ocho horas al día, actualizando varias tablas en una base de datos a través de una sola conexión MySQL que permanece abierta todo el tiempo. Funciona bien. Cada vez que hay algún tipo de error de MySQL (no solo el servidor desaparece), el código simplemente llama a mysql_real_connect() nuevamente y se recupera sin ningún problema. La reconexión es uno de los lugares donde, en mi opinión, MySQL funciona perfectamente.
Pero hay mucha controversia y discusión sobre la bondad/maldad de las conexiones persistentes. Puedes encontrar algo de esto aquí:
-- HH