I would propose that mIRC create session backups of the files that it opens or modifies. That is, mirc.ini, servers.ini, urls.ini, control.ini, users.ini, vars.ini, popups.ini etc, as well as all loaded scripts and alias files. I recognize that's a lot of files, but it tends to be that all of these files can disappear.

When mIRC launches, as it searches for mirc.ini, it also checks for any mirc.ini.sessionbackup files in those same locations, and compares their last-modified date to determine which one to use. If the sessionbackup is newer than the mirc.ini it finds, or if no mirc.ini is found, then prompt the user about restoration.

Well. At least I won lunch.
Good philosophy, see good in bad, I like!