Hola,
Tal como yo lo veo puedes hacer lo que he dicho más arriba. Ten en cuenta que no tienes que codificar nada, es decir, que al mostrar un formulario "modalmente" este ya retorna de por sí un resultado: "mrCancel", "mrOk", etc.
De ahí que puedas mostrar el formulario 2 desde el formulario 1, y, si se cierra el formulario 2 con "algo" distinto a "mrOk"... nada te impide cerrar el formulario 1. Es lo mismo de antes:
Código Delphi
[-]
with TForm2.Create(nil) do
try
if (ShowModal() <> mrOk) then
begin
Form1.Close();
end;
finally
Free;
end;