I've used a lot of the TCP/IP components in projects - I have required the FTP and Telnet components on multiple projects. I have used the Delphi Components, Indy and ICS.

The Components that come with Delphi are probably the best designed but worst tested of the component sets. For example the FTP component cannot deliver a detailed file list.

The ICS components are probably the other extreeme being the worst designed but the most reliable components. For example all interaction with the FTP component is done through a file.

The Indy components fit into the middle. There are some problems with them but at the same time that are reasonably well designed. The biggest benifit of the Indy components is the internet support for them - almost all of themhave some examples to help you.

If I have to start on a project now I will try and use Indy only.

Have you considered using Web Services? If you are looking at data transfer I think it could be a good option. Set up a web service that does the information delivery on the host and using the WSDL importer you can easily create a client that uses the Web Service. (Similiar to my Web Live tutorial but using actual web services). If you need some help just ask and I'll put together a simple tutorial.