No, just having a dedicated socket to each room joined.
Err, huh?
If you have a dedicated /socket for each channel you open, you'll have a different nick for each channel from the same host, which is called cloning.
And as far as I'm aware, the only way to get mIRC to create a channel window is to have mIRC connect to that socket via the /server commands (and connect dialogs).
You can create what's known as a 'proxy' or 'bounce' to do this, getting your mIRC to connect to a /socklisten you create, to which you shove information down, but.. it can get messy.
This was one of the old-school ways to do version changes 'n stuff when sockets were released.