me parece que necesita algo mas "enrevesado" que un showmodal...
En cualquier caso la tésnica que voy a explicar no se deberia de usar, seguro que la forma correcta de hacerlo es atraves de un showmodal... eso de que el form de debajo siga trabajando es muy raro.
ahi vamos:
ok, sacamos dos forms que se usan mutuamentes, esto es, en la causula uses (la del implementation, no la de interface que sino os dará una referencia cruzada al compilar)
Form1
Código Delphi
[-]
procedure TForm1.Button1Click(Sender: TObject);
begin
Form2.Show;
self.Enabled:=false;
end;
form2, escribimos el evento OnHide del formulario
Código Delphi
[-]
procedure TForm2.FormHide(Sender: TObject);
begin
form1.Enabled:=true;
end;
y a correr!
(pero recordar que esto no lo deben hacer en casa, si se hace inevitable el uso de esto es que algo está mal diseñado )