puede ser asi, xq me funciona pero no se si es un buen uso de codigo :P
para llamar el formulario:
Código Delphi
[-]
procedure TForm1.Agregar1Click(Sender: TObject);
begin
form3.Show;
form1.Enabled:= false;
form3.Enabled:= true;
end;
para volver al formulario principal:
Código Delphi
[-]
procedure TForm3.FormClose(Sender: TObject; var Action: TCloseAction);
begin
form1.Enabled:= true;
form3.Enabled:= false;
form3.Hide;
end;