No creo que el Formshow sea el evento apropiado.
crea un método en Ficha1
Código Delphi
[-]
procedure TFicha1.Consultar;
var Cerrar :Boolean;
begin
Cerrar := false;
with TFicha2.Create(Self) do
try
if not (ShowModal =mrOk) then
begin
Cerrar := true;
end;
finally
Free;
end;
if cerrar then Release else Show;
Ahora solo tienes que crear la ficha1, llamar al método Consultar (que ya le pondrás un nombre más apropiado) y tienes todo resuelto.
Tambien podría ser una función, así la ventana que llama a Ficha1.Consultar pueda saber si Ficha1 está abierta o cerrada.
Al menos delphi, desde el mismo evento Onshow no te deja ocultar la propia ventana con Ficha1.Hide. No he probado a destruirla.
saludos.