Statt diesem ganzen unübersichtlichem Gepopel einfach eine zweite Prozedur anlegen, die nur einen Parameter hat und Prozedur mit Boolean ruft die ohne auf. Fertig.
Delphi-Quellcode:
procedure TestProc(a: string); overload;
begin
.....
end;
procedure TestProc(a: string; var x: Boolean); overload;
begin
x := True;
TestProc(a);
x := False;
end;