: this is a server-side problem. mIRC is doing everything right.
The MONITOR command is an optional server extension that mIRC can use to drive its notify list. If a server supports the MONITOR command, it advertises this to connecting IRC clients, and mIRC checks this to see if it can indeed use it. Recently, it has been discovered that the implementation of the MONITOR commands in certain server software has a serious bug
. The affected networks (EFnet, FreeNode, and some smaller ones) have chosen to work around this issue by disabling the MONITOR command altogether. However, these servers are still advertising that they support the command, and that is why mIRC is still trying to use it - fruitlessly. Ultimately it is up to the server maintainers to fix this problem, but the networks are taking their time to implement a proper fix, to say the least.
Until the situation is resolved, mIRC's notify list does not work on the affected networks, and you end up with the "MONITOR unknown command" lines. However, as a temporary fix, you can make mIRC think that the MONITOR command is not supported after all, by copy&pasting the following script line in mIRC's Remote section (alt+r):
on *:PARSELINE:in:& 005 * MONITOR=*:.parseline -it $regsubex($parseline,/MONITOR=\d+ /,)
mIRC will then fall back to the traditional way of driving the notify list.