te comento un poco mi idea y que la uso en mi troyano... esto de la multiconexion efectivamente lo hize con csocketmaster, un arreglo que se crea carga e inicializa cada vez que un servidor ingresa al cliente... en el cliente lo recibo, paso a identifcar la ip y la id de cada servidor y establezco la conexion a la espera de activarlo, de este modo entran servidor tras servidor enumerados en un listview, cuando deseo trabajar con uno de ellos, pues lo activo y creo una escena en donde solo existe una conexion unica entre cliente y servidor (claro que en cualquier momento puede entrar otro servidor) aun asi si mientras por ejemplo estoy interactuando con el servidor (una descarga captura etc) el cliente se marca como ocupado los servidores entrantes se ponen a "esperar" a que el cliente se desocupe, en cuyo momento puede ingresar al servidor...
Y asi hay muchos mas aspectos que debes controlar en una multiconexion, no creo que sea una tarea simple, tampoco imposible pero asumo que te tomara un tiempo implementarlo a tu proyecto, al menos a mi dejarlo practicamente funcional al 90% me ha tomado un buen tiempo (a veces se congela la interaccion sin explicacion alguna)
En fin estamos para apoyarte en esta nueva fase de tu proyecto
Edito: De esto y muchas cosas mas se hablo hace ya comno 5 años atras, y encontre el link:
http://foro.elhacker.net/analisis_y_diseno_de_malware/troyano_en_vb_desde_cero_indice_de_contenidos_en_la_primera_pagina_granmanual-t57545.0.html;msg313424#msg313424
Es mas recuerdo que desde ese mismo instane inicie en pasar mi troyano a multiconexion.... espero te sirva y te recomiendo que te leas ese fantastico manual de "xenon" (vaya que tiempos aquellos)
A proposito dentro de poco voy a soltar todo el code de mi troyano, a alguien le puede interesar, recuerdo que hace tiempo habia una zona en el foro en donde se podia poner los ejecutables para que unos betatesters lo probasesn, ¿ya no existe eso?