This is not really a bug. mIRC does not show your message in #a and #b when you type "/msg #a,#b hello" because that is a server-side way to message multiple channels at a time, not a client-side way. When you type #a,#b as the target, the server takes each token separated by a comma and sends the specified message to each channel. mIRC cannot know to which channels the message was actually sent, because the client never gets a reply from a server when a message was sent (this is the reason that ON TEXT event does not trigger for yourself). mIRC can't just assume that when you type "/msg #a,#b hello", the message was sent to #a and #b, because there might be some server that does not support more targets at a time, or there might be some servers that support only 10 targets at a time, and by typing 11 targets mIRC won't know whether the message was sent an all channels or not.