The server I typically connect to is a modified IRC. Because of that mIRC does not handle everything well. One of which is some of the user modes. I cannot expect mIRC to. I send all data to a local socket then to mIRC so I can manipulate the incoming data as I need to make mIRC happy.
I don't know if this is similar to your situation but it may give you some food for thought.