ダイアログ周りで質問です

ShowModal()で表示したフォーム(ダイアログA)上で
MessageDlg(〜略〜, [mbOK], 0)でダイアログBを表示したとき、
ダイアログBからmrOKが返されると、ダイアログAの処理をぶっ飛ばして
BもAも閉じてしまうんですが、BでOKされてもAが残るにはどうしたら良いんですか?

ソースコードにするとこんな感じ
■Unit1.pas
 Form2.ShowModal(); //ダイアログAを表示
■Unit2.pas
 if なんか間違ってたら then
 begin
  MessageDlg('ERROR', mtWarning, [mbOK], 0); //ダイアログBを表示
  exit; //←上でOK押されるとこいつ無視される
 end;
 { もちろんここも無視される・・・ }