I think mIRC really needs to keep exactly what the server sends. I.e. if there's an invite with a channel name that is not UTF8 encoded, it should join the non-utf8 channel. And whenever that channel name is used it should be used in the non-utf8 way so messages to the channel etc. actually arrive.

You cannot expect network admins to upgrade all their ircds quickly just due to you dropping non-utf8 support.
As you might know ircd upgrades require restarts (unless they are very modular, but some of the biggest networks like Quakenet, Undernet and Gamesurge use non-modular ircds) of the ircd which results in dropping users.
This usually means updates can't be done quickly because servers have to be removed from the DNS round-robins and then you have to wait a few days for the server to become less populated.
Assuming you have 15 servers and you want to wait 3 days after removing them from the RR before you upgrade them to keep the number of users quitting in a netsplit low.
Then, if you upgrade 3 servers at once, it will take you about 2 weeks until you've upgraded all servers.
Two weeks where mirc7 users will be pissed about not being able to join their channels (switching them to utf8 is not an option since then mirc6 users will not be able to join without an invite or by using copy&paste so they get into the utf8 channel).
And with irc being less popular thanks to all this social network crap etc.
I don't think any network wants to lose users due to this.

So I think mIRC should be smart. When joining a channel manually it should check if either the UTF8 or the non-UTF version exists. If the non-UTF version exists and the UTF8 version doesn't, it should use the non-UTF8 version. This would avoid issues with legacy channel names while actively promoting UTF8 as newly created channels would use UTF8 encoding.