выход: либо перед вызовом ShowModal (да и вообще перед созданием формы) проверять значение, либо PostMessage:
Код:
type
TForm2 = class(TForm)
procedure FormActivate(Sender: TObject);
procedure TForm2.FormActivate(Sender: TObject);
begin
if Tag=0 then PostMessage(Handle, WM_CLOSE, 0, 0);
end;
но 2-ой вариант не красиво смотрится, т.к. форма успеет моргнуть на экране. 1-ый вариант идеален)