Hola de nuevo.
No se que decirte por que no he recibido nunca ese error que aparenta ser de protocolo.
Como dato adicional, con tus valores y quitando el try/except obtengo el error:
Socket error #10060 Connection timed out, que normalmente es debido a que el cliente no recibe respuesta del servidor.
Olvidé mencionarte que también puedes poner el componente en tiempo de diseño y los valores de sus propiedades desde el Object Inspector, ahorrándote el código de inicialización.
Y por último me queda sugerirte que intentes de este modo:
Código Delphi
[-]
uses Urlmon;
procedure DownloadFile(const url, target: string);
begin
URLDownloadToFile(nil, PChar(url), PChar(target), 0, nil);
end;
Ejemplo de uso:
Código Delphi
[-]
...
begin
DownloadFile('ftp://ftp.freenet.de/pub/filepilot/ss_sa', 'c:\tmp\ss_sa');
...
Saludos
Edito: No había visto el mensaje de Neftali pero seguramente ajustando esa propiedad desaparezca la excepción.