модальность реализуется в мобильных системах не так как на десктопе
по сути, мы когда запускаем форму ShowModal, даем ей процедуру, куда идти после закрытия
по сути, тот же OnClose
так что я бы написал так, чтобы вложенные простыни не плодить
procedure TForm1.ShowForm2;
var f:TForm2;
begin
f:=TForm2.Create(NIL);
f.showModal(Form2Closed);
end;
procedure TForm1.Form2Closed(AResult: TModalResult);
var f:TForm3;
begin
if AResult=mrOK then
begin
f:=TForm3.Create(NIL);
f.showModal(Form3Closed);
end
end;
procedure TForm1.Form3Closed(AResult: TModalResult);
begin
if AResult=mrOK then
begin
// что там надо после формы3
end
end;