No, it is not OK for moderators to arbitrarily delete answers.
Thankfully, that's not what is happening. The very tone of your question as well as it's content is miss-representative of the situation. Quite a bit of thought and discussion went into that question and the action taken by Richard in deleting answers was not arbitrary.
Please stop trying to fight the moderators and help us in our effort to work with the community. Anybody can just ask nicely what's going on and we'd be happy to explain. Flagging and possibly deleting answers that have been invalidated by a major change to the question is standard procedure. It protects the OP from downvotes and keeps the site clean for visitors. OP's have the opportunity to fix their answers to match the new question and flag them to be un-deleted. Since they are also notified with a comment, in my experience well over half of them do come back and fix their answers and get back in the game.
Richard did not "replace" your answer with one of his own. He added an answer of his own. While the timeline might be construed as poor taste if you aren't giving people the benefit of the doubt, moderators are allowed to throw their hat in the ring when it comes to answering. That does not actually conflict with their duties as moderator.
In the future it might be in good taste to just flag the answers for another moderator to address if they are involved in some other way, but upon review of Richards actions I don't see anything inappropriate about the actions he took to delete obsoleted answers.