ok, if i understand you correctly then
it seems as though you have scripted a router type deal .. where the socket script makes the connection to the server, and your mirc connects to the socket, and the socket script parses the data sent from the server so that mirc can understand it. *sigh* .. basicly a smart proxie
clearly this is not a normal irc server else u wouldnt need to even parse the data, BUT regardless, you should only ever have to parse the names raw 1 time for each time you join the channel .. so i dont see where the HUGE problem is
your socket script connects tot he server, your mirc connects to the socket script, mirc issues a join command, the socket script relays the command to the server, the server responds back with the names list, the socket script parses it and sends it to mirc, .. the socket script should not have to re send this names list unless you rejoined the channel ..
if i'm way off here .. then there is a communication problem between us .. i'm either just not understanding you, or your just not understanding me .. in either event i'm sorry. perhaps someone else can figure out what your asking and shed some more light on the subject .. i'll keep checking back