Bueno, a grandes males grandes remedios. Como me urge terminar el trabajo que estoy haciendo he tomado la siguiente solución: el componente TcpClient encapsula al objeto TClientSocket que logicamente no existe en la paleta pero existe en las librerias en concreto en la unit ScktComp, así que lo he declarado a pelo, le he asignado a mano los eventos y a funcionar. El cliente TcpClient es una mala encapsulación de este objeto, que si que funciona bien. Por cierto la versión es Delphi 7.
Un saludo y gracias a todos por vuestro interes.