Всем, часто приходилось использовать в Delphi Функцию Sleep, в результате которой программа не отвечает N количество миллисекунд затормаживая процесc, предлагаю использовать альтернативу:
procedure pause(col:integer);
var wtim:ttime;
begin
wtim:=encodetime(0,0,col,0)+time;
repeat
application.processmessages;
sleep(10);
until time>=wtim;
end;
col - пауза в секукндах.
При использовании данной функции, программа не будет уходить в Даун, а будет дальше функционировать.