im Normalfall geht es gar nicht das procedure1 durch einen Klick unterbrochen wird außer du arbeitest mit Threads bzw. Application.ProcessMessages. Ansonsten musst du das mit einer Hilfsvariablen machen.
Delphi-Quellcode:
procedure procedure2;
begin
procedure2betreten := True;
//do something
end;
procedure procedure1;
begin
procedure2betreten := False;
[...]
Application.ProcessMessages;
if procedrue2betreten then
Exit;
[...]
end;