Además de lo que dice
dca podrías, crearle al formulario la propiedad IsVisible que pondrías en false al momento de ocultarlo:
Código:
procedure TfSesion.FormClose(Sender: TObject; var Action: TCloseAction);
begin
ShowWindow(self.Handle, SW_HIDE);
IsVisible := false;
end;
y en true al momento de mostrarlo. Es una manera de 'emular' la propiedad Visible que no funciona en los formularios MDI Child.
// Saludos