$chan().mode should return the extra parameters for channel modes.I know there's a $chan().key and $chan().limit but there is no way to reference the other chanmodes which some IRCd's may have other than waiting for the raw response to the /mode command and setting a variable.

$chan().mode already returns all currently set channel modes with parameters.

No, it doesn't.For example, there are some servers which have a flood protection channel mode (+f) that requires you to specify the parameters of the protection. If I set +f with parameters in a channel, $chan().mode would only return +f. The parameters afterward can only be found by using /mode #channel.

I'd call this a bug in mirc. I connected to a server running UnrealIRCD and mode f was correctly listed in the 2nd (type B) field of the CHANMODES token in raw 005. Yet when I created a channel and set mode +f [10j]:15, mirc didn't add the parameter ([10j]:15) in the titlebar or in $chan().mode. However, when I set +k somekey (k being of the exact same type as f) mirc updated the titlebar and $chan().mode with the correct key information. So it seems mode f isn't interpreted correctly as a type B mode, even though mirc has been provided with all the necessary information for this. The same happens with the type C mode j on UnrealIRCD: titlebar/$chan().mode aren't updated correctly by a mode j change, however they are updated correctly by a mode l change (same type of mode).