That sounds about right, mIRC sends a mode when you first join a channel, which returns the channel mode when you are not an op (and will not contain the hidden channel key). When you are opped, mIRC resends the mode so that it can get the mode when you are an op, which will contain the channel key.

For servers that do not hide the channel key, mIRC checks before sending the second mode to see if it already has the key, and if it does, it does not resend the mode. Of course if there is server lag and mIRC has not received the reply from the first mode, there's no way for it to know what the first mode will contain, so it resends the second mode.