A following up problem is that mIRC does not seem to auth the same way after a reconnection.

I just tested this out. I followed your above steps: connected using /server command (tried both nickserv and sasl), unplugged cable, mIRC showed host disconnected error, waited for a while (if I don't wait long enough, my nickname will still be in use on reconnect), replugged cable, mIRC reconnected and authed nickname, and only afterwards joined channels.

If you use /debug to watch the reconnect/auth process, can you see what is happening in your case?