It's a bug, but one you'll have to live with. mIRC uses a pattern to find a nickname, and be able to parse it out of it's "surroundings". I.e. if someone says, "Hey, can you message Joe (SomeNick)", mIRC knows enough to remove the ()'s. The same thing, mIRC is assuming that []'s are just surrounding the nick, and not part of it.
Best thing you could do is code a workaround for ctcp replies using on hotlink.