It usually happens that people become disconnected and reconnect as their alternate nickname because their main nickname is still in use by their ghost connection until it ping-timeouts. Occasionally somebody else might also attempt to use your nickname (maliciously or in play) causing you to connect with your alternate nickname preference.
I propose that mIRC automatically recover the main preference nickname whilst using the alternate nickname preference.
This seems to be a pretty standard feature in many IRC clients, and while scriptable in mIRC, I wouldn't say it's especially "easy" to script.
While using your Alternate Nickname ($anick), detect when your Main Nickname ($mnick) becomes available and change nicknames (to $mnick). Detection can be through standard visible presence of a QUIT, NICK or similar event, and also with the Notify feature via MONITOR, WATCH or ISON as appropriate.
mIRC should be careful to disable this functionality and ignore when a user manually changes their nickname from their $mnick into their $anick, or if the server (or BNC) specifically changes their nickname from their $mnick to their $anick or a Guest-style /^\S\S\S+\d\d\d+$/ nickname. As with any automated actions, there should be a sanity check to detect contrary repetitive behavior to prevent looping fits -- ie, only one nickname recovery allowed after connect, or allowed again if a '433 :Nickname is already in use.' error is encountered (and the user eventually changes into their $anick nickname), but also not more than once in a 10 minute window.
Well. At least I won lunch.
Good philosophy, see good in bad, I like!