Estoy trabajando en una aplicacion y curiosamente tuve que hacer lo mismo que tu necesitas, como te dije anteriormente la clave esta en la linea:
AddOwnedForm(frmMenu);
Esto hace que el propietario del formulario que mostraras en modal sea el que lo esta instanciando y no el mdi, asi que no perdera la propiedad modal.
Seria algo asi:
Código:
frmMenu frmMenu = new frmMenu();
AddOwnedForm(frmMenu);
frmMenu.ShowDialog();
Saludos