Saludos, lo que sucede es que cuando cierras el formulario "normal" estas destruyendo al mismo tiempo la variable frmSimulador y esto te puede pasar no solo con formularios mdi.
Te sugiero que revises el código de Program.cs de tu proyecto, alli te puedes dar cuenta que la aplicación corre una nueva instancia de tu formulario principal. Cuando lo destruyes finaliza el proceso, por lo tanto se cierra la aplicación.
Por el momento te sugiero ocultar el formulario "normal", es decir cambia el this.Close(); por this.Hide(); También debes de modificar la rutina para cerrar la aplicación del formulario MDI; agregar el código necesario para cerrar correctamente la aplicación. De lo contrario tu aplicación se seguirá ejecutando ya que sigue en memoria el formulario "normal".
Puedes investigar como crear formularios con una sola instancia usando el patrón singleton e investigar el uso de threads o hilos, por ejemplo
http://msdn.microsoft.com/en-us/library/aa446493.aspx
Espero que te sea de utilidad