From a software developer's standpoint, it's important to have consistency in behaviour. It would be bad programming practice to make some commands overridable and some commands not.
That being said, a convention has already been put in place to allow a scripter to account for the fact that some other script may have overridden a command - that is, prefixing the command with the ! operator.
Asking for the noop command to be non-overridable simply because you don't want to put a ! in front of it demonstrates lazy and poor coding.
However, it would also be poor coding if a command was overridden in such a way that its functionality was radically changed (ie, making /msg be a /quit). Commands should be overridden if you intend to add additional functionality to them (although it may be excusable if you intend to make the command do nothing, such as to prevent the user from using the join command, although something like that really belongs in an on INPUT script).
That being said, I think that the current functionality of noop should be preserved.