Si form1 llama a form2 de forma modal, no podes desde este cerrar a form1...
Sin embargo, podes hacer que se cierre form2 y en form1 evaluar una condición para cerrarlo.
En form2, por ejemplo, al pulsar el botón:
Código Delphi
[-]
Procedure TForm2.Button1Click(Sender : TObject);
Begin
ModalResult := mrYes; end;
En form1, creas form2, y cerras form1 asi:
Código Delphi
[-]
Procedure TForm1.Button1Click(Sender : TObject);
Begin
Form2 := TForm2.Create(Self);
if Form2.ShowModal = mrYes Then
Close;
end;
Dejando siempre los eventos OnClose como están.
Hasta luego.