Если работаешь с Indy то брось на форму TIdAntiFreeze Либо в цикле вызывай регулярно Application.ProccessMessages;
Ну конечно, надо со слипом комбинировать: while True do begin Sleep(1); Application.ProcessMessages; end; Так и ифейс не зависнет, и нагрузка на проц - 0% =)