Yo haría una prueba comentando el componente.
Algo así:
Código Delphi
[-]
losFilesEnFTP := TStringList.Create;
try
losFilesEnFTP.Add('test1.txt');
losFilesEnFTP.Add('test2.txt');
losFilesEnFTP.Add('test3.txt');
while ...
finally
losFilesEnFTP.Free;
end;
Además mira si estos son funciones que devuelve algo o son procedimientos.
- FTP1.Conectar() Quizás devuelva true/false
- FTP1.ChangeDir() Quizás devuelva true/false
Mete cada uno de estos dentro de un try..except.
Podrían estar devolviendo una excepción ABORT que creo que es "silenciosa" y Delphi no la muestra.
Código Delphi
[-]
try
FTP1.Conectar()
except
on E:Exception do
ShowMessage(E.Message);
end;