At first I classified it as an IRCd bug, then dismissed it when it wasn't.
mIRC could certainly do more to ensure the '*' key isn't used maliciously (ie by still trying to rejoin with it), however the only true fix to this bug is to have ircds that do not implement the 'hidden key' feature restrict the use of '*' as a key.
I recall this reported a long time ago, but it looks like these boards are no longer retaining posts that far back.