Many "MSN Chat" (obselete) and other Non IRC type networks do this
A great resource for looking at is Vincula on eXonyte's Realm
http://exonytesrealm.com/msn.php Basically, as well as using a socket for connecting to the server, you need to make a 'local' socket which will connect to mIRC, or rather, mIRC will connect to it
so you wanna make a sockopen to irc.server.here - I think you've done this
then, /socklisten on a local port
then /server 127.0.0.1 {local port}.
mIRC will attempt to connect to the local port, on successful socklisten, you should sockaccept followed by CLOSING the socket you are listening on.
After this, you will most likely want to send data between the server socket and the local socket, allowing mIRC to interact properly with the room.
So basically, the sockets are working as a "PROXY" between mIRC and the Server.
I may post an update to this later, or you can contact me on MSN (JD at OzChat dot org).
PS: Many people use this to 'change' the mIRC version reply as you can halt it before mIRC recieves the version check, or modifiy it after mIRC is sending it back
I do hope this helps, Please let me know if it did.