Creo que lo que tendrías que hacer es controlar que no haya otra instancia de la aplicación. Si no hay una instancia, abrís comúnmente y creas una ventana MDI hija. Si sí hay una instancia previa, entonces le pasás un mensaje a esa instancia dicíendole que habra una nueva ventana MDI hija con tales parámetros.
El amigo Román en su página tiene un muy buen
ejemplo de estos asuntos. Lo que no me acuerdo es sí su código no sólo advierte la instancia anterior y cancela la carga, o si además también está contemplado el pasarle un mensaje para que, por ejemplo, cree una nueva ventana.