Can't do that.. Exit is called before the procedure then it will exit the previous/running function which just happens to be main.
Example:
Procedure Meh;
begin
writeln('This won''t run');
end;
begin
repeat
Exit(Meh);
until(False);
end.
This is because Simba runs Top to bottom and left to right. It's how most languages work.
You have to do:
var
Bool: Boolean;
Procedure Meh;
begin
if (Not Bool) then
Exit;
writeln('This will run if Bool = True')
end;
begin
Bool:= True;
repeat
Meh;
//Some other stuff that will run even if Meh = false;
until(False);
end.