Please read the two posts both me and Raccoon have posted. This is not a design flaw, this is quite intended.

The reason you are able to read the characters correctly between two mIRC(v7.x)'s is b/c the server doesn't alter the underlying binary data. mirc #1 sends data to server -> server looks only at the part it needs then sends data to mirc #2 -> mirc reads unaltered data from mirc #1. Try your test again with one of the mIRC's being 7.x and the other is 6.x.

And here is a bug report detailing your exact problem, and the developer of mIRC(Khaled) stating that this is intended.