mIRC would not be tracking or storing the contents of mode changes - all it would see is that eg. a new mode +/-b had arrived, so it would change the state of .ibl to $false. [..] This has always been the case though. That is why $inmode was added, so that scripts would know if it was being looked up.
Oh I see. Yes, I do think that is very likely to break scripts then: as far as I know -correct me if I'm wrong- it is currently the case that after the the ban list has been requested once (after joining the channel), a script could assume that the IBL would accurately reflect the bans set on the channel. As such, a script could issue a "/mode # b" on join and, after the final numeric reply, assume that the IBL would be in good shape for as long as the client is on the channel. This change would break that assumption and as such even make $ibl nearly useless, I think..