Is it unethical for any user to post a derogatory, belittling negative comment? Yes.
Let's be clear about what we're taking about. "Derogatory" or belittling comments are never OK, whether you've posted an answer or not. The "Be nice" policy applies to everybody, in all situations. If you think a comment crosses the line, flag it.
Keep in mind that not all criticism crosses this line. It is not unethical to post civil and constructive criticism. That's one of the main purposes for comments.
So let me rephrase the question to avoid the irrelevant parts. I'll assume by "negative comment" you mean a comment that you would be fine with if it were posted by someone who hadn't written an answer.
Is it unethical for a user who has answered a question to post a constructive and civil negative comment on somebody else's answer? No, it isn't.
Why would it be? Someone who knows enough to be able to answer the question is more likely to know enough to criticize "competing" answers.
I put "competing" in quotation marks because competition is really not the point of this site. The point is to give the OP and future visitors the best answer or set of answers possible.
The only concern that I can see is the possibility that people might try to abuse the system and try to make their answers more prominent by posting false or harmful comments in an attempt to get other answers downvoted or deleted. And this is really not very likely. People's names are attached to their comments. As I said earlier, if somebody posts a bullying, belittling comment, there are many other users who will see it and be able to react: they can flag it to get a moderator to deal with it, or post a comment in response that explains how it is false.
In fact, even though it's much more prone to this type of abuse, people can even downvote other people's answers! Downvotes are anonymous and actually affect the ranking of the answers. But Stack Exchange still allows it. Some of the reasons are outlined here: Does answering a question lock you out of downvoting on other answers to that question?
As Jon Skeet says:
No-one benefits from a correct answer being hard to distinguish from
an incorrect one because you wanted to be sportsmanlike :)
I regularly post critical comments on answers that I think could be better, even if I've also posted an answer to the question. Obviously, I try not to be rude or belittling. I don't know how many might be considered "subt[ly] derogatory": that's a pretty vague phrase, and it seems it would be easy to either miss this kind of "subtle" rudeness, or to see it where no rudeness was intended. It's certainly not the tone I aim for.
I also post positive comments on other answers if I think the answer is good. Same goes for voting: I'll downvote an answer if I think it's bad, and upvote it if I think it's good.