Hola gracias por tu ayuda...
Respecto a tu problema, no he usado esos componentes todavia.
Idea #1
Pero tal vez esto te sirva, un recurso que yo uso por si el servidor cae, es tener en mi aplicación Cliente un TTimer mas o menos a 30 segundos, para que trate de conectarme con el servidor si es ke he sido desconectado. Así el programa esta chekando c/30 s. la disponibilidad del servidor, si se puede conectar bueno... si no, pos a esperarte otros 30 s, ó dar clic en el boton de 'Conectar' en su caso para los desesperados.
Idea #2
No se si esta idea funcione, pero me imagino que si un Cliente se blockea en tu servidor aparece como Conectado, y si se vuelve a conectar es cuando tienes el problema. Tal vez se pueda hacer que el servidor este checando tambien a todos los clientes uno por uno, mandando una 'señal' para que el Cliente destino responda que todavía esta ahi.
Si no lo esta desconectarlo y kitarlo de la lista.
De la segunda idea no estoy muy seguro, pero de la primera si me esta trabajando bien.
De nuevo gracias por el codigo, yo creo que a mas de uno le ha de servir.
Hasta pronto!