The reason the current behaviour is in place is that when multi-server support was added, I was concerned that making multiple status windows open by default would confuse new users.
For power users, it is possible to use the Control and Shift keys to change how a channel is joined when using the favorites dialog/menu. The Control key will ignore the network settings of the channel and will join the channel on the active status window. The Shift key will open a new a status window. That said, using combinations of keys to change behaviours is not intuitive and implementing default behaviours that make sense for the majority of users would be better.
I can change the behaviour so that a new status window is opened, if the current status window is not on the same network as the channel being joined.
This brings up a related issue: let's say you have defined ten networks for a channel. If you join the channel through the favorites dialog/menu, should mIRC connect to and join the channel on all ten networks? Every time? And if you have several status windows open connected to the same network, should the channel be joined on all of the status windows? Or just one? Currently, it only connects to and joins the channel on the first defined network.
I could change this so that if you have defined multiple networks for a channel and you join the channel through the favorites dialog/menu, it will connect to and join the channel on all defined networks. If status windows exist that match those networks, the channels are joined on those status windows. If non-connected status windows exist, they are re-used to avoid opening extra status windows. Otherwise, new status windows are opened as necessary. The Control key can still be used to join the channel only on the current status window. The Shift key can be used to force a new status window to be opened, even if an existing status window for that network exists.