Если работа идет внутри цикла, то Suspend не поможет.
Я делал так:
Код:
var
Stop: boolean; //где то, но глобальная
Далее в потоке:
Код:
...
for i := 1 to N do begin
...
if Stop = true then
repaet
application.processmessages;
until Stop = false;
...
end;
...