the offending user reposts the message and complains about the moderator not giving a reason, and calls out a specific moderator, despite the system not revealing any such information to the user.
The moderator then proceeds to remove this post as well[...]
The moderator shouldn't have deleted the post against them. They might want to edit it if the user included inappropriate content. This has several advantages:
- This will be a reference to prove to other users that this behavior isn't allowed.
- The user won't get mad... think about it. You delete something of theirs and when they protest, you delete that, too. Eventually, trying to get a reason to why their content was deleted, they are banned.
- They might not do this again.
- It allows transparency. A little bit of transparency is always good for a community, but don't release any personal information!
[...] leading to escalation: The user reposts, the moderator deletes - this cycle continues for a while, until the user gets banned.
At this point, I'd say contact them if you can. If your site features a private contact form, make sure to tell them why their post was deleted. If you feel necessary, apologize for the ban, but make it clear that their behavior isn't allowed.