I'm pretty sure it's deliberate. When mIRC sees a channel name has a bracket on the end of it it assumes that the bracket (or in fact any punctuation character) isn't part of the channel but part of the text which surrounds it. This behaviour is more likely to be the desired effect than actually joing a channel with the bracket on the end.
For example if mIRC sees the word #hello) it's far more likely that it's part of a sentence like Ted just joined (he's also in #hello) where the ) isn't meant as part of the channel name than it is that the channel ends with a punctuation character.