while (true) do;
ist wie deine sleep idee...
der
vcl prozess kann nicht das fenster neu malen.
du siehst deine änderungen nicht.
Delphi-Quellcode:
while (true) do
application.processmessages;
würde deine änderungen zwar anzeigen, aber gut ist das so nicht.
dein multithreadproblem bleibt.