Tienes un problema con los threads. Es un problema clásico de PHP, sobre todo en sus versiones anteriores a la 5.0.
En principio, deberías postear esto en el foro correcto, ya que el problema es la conexión CON MySQL y no MySQL. De todos modos te puedo dar una ayuda.
El problema, que conocemos los que programamos en .NET, es que al crear un objeto MysqlConnection, OleDbConenction, o cualquiera de esos, es que
cerrar la conexión, no significa terminar con el proceso (thread) que le dio vida. Ese proceso está en estado "sleep", es decir, dormido. Existe, pero no hace nada. Si le dieras nuevamente Open, tendrías otro ID de conexión con el mismo proceso.
El tema es que tienes que "matar" el proceso. Si has usado Linux alguna vez, sabes a qué me refiero. Para el caso, deberías usar (PHP5) una función que le indica al server que elimine el thread:
mysqli_kill ( mysqli $identificador_de_enlace , int $processid ).
Espero que esto te sirva.