casi sin duda, que si te desplega el mensaje "Estado erroneo para la petición actual"(o algo de eso) es porque los winsocks no se encuentran conectados.
para verificarlo podes poner un label en el formulario (Servidor y/o Cliente) (ej: Label1) y un control timer con el Interval=10.
Dentro del procedimiento Timer,
ponle que el Caption del Label1 sea el estado del winsock (winsock1.state) y te va a estar mostrando ese label si el estado es 2·En espera, 7·Conectado, 0·Cerrado, 8·Cerrando conexion, 6·Error...........
esepero que sea lo que buscas
Gerardo
Uruguay - America del Sur