Analice bien la idea de arriba y esta bien lo que se dice con respecto a que el estado pudiese ser "Cerrando." pero no sería posible enviar un mensaje ya que en los dos puntos se ejecuta el método CLOSE. Además el problema, al parecer reside en el cliente y no en el server.
Con respecto a lo de hacer un socket con API parece ser buena la idea. ¿Tienes información al respecto?
no te mates mira si buscaras podrias comer. en la parte de virus y troyanos hay un post q esta pegado creo que es este troyano en vb desde 0 por fulano. hay tens de todo y tenes para mandar archivos anda muy bien lo unico que le tenes que solucionar unas cosas que no interfieren en la parte de subir o enviar archivos. Salu2