Je öfter ich Application.ProcessMessages auslöse umso langsamer wird der Import.
Eine Möglichkeit wäre, vor einem Aufruf von Application.ProcessMessages zu prüfen, wie lange der letzte Aufruf her ist. Erst dann, wenn das vor mehr als z.B. 100 ms war, wird dann Application.ProcessMessages aufgerufen:
Delphi-Quellcode:
var
LastCall: Int64;
ThisCall: Int64;
[...]
ThisCall := GetTickCount;
if (ThisCall - LastCall > 100) or (LastCall > ThisCall) then begin
Application.ProcessMessage;
LastCall := ThisCall;
end;