Dicipline in private
Fire in public
Adding shame to a player on TOP of the corrective punishment will only bring resentment.
However- if a player is banned, there is no reason to withold the reason for the ban. That player won't be coming back. And the rest of the players need to know the reasons (in general terms) so they understand that the DMs are impartial, that the DMs do watch what is going on, and that certain behaviors will not be tolerated.
For example… A player finds a new fixed quest and runs thru it-- and finds an area that spawns an endless supply of 1 hit point monsters. That player is overjoyed, because killing these critters gives him 200 XP per kill. Later... a DM sees this player (who is now level 18) and says "This is obviously an exploit. I am taking you down to level 3, and if you do not report exploits in the future, you may be banned. Do you understand?"
Now -- that was a private occurance-- that player will continue to play. It will be assumed that if the player goes around badmouthing the DM about the punishment he recieved, then the DM will end up banning him.
As for the bans: Notifying the other players with a simple statement like
"Player DeathXmas is now banned from CoA for his repeated use of profanity and vulgar hate speech. Out of Character racist remarks, sexual harrasment and profanity will not be tolerated in the game. Especially when they are out of character personal remarks to other players."
I understand that certain behavior is bannable, even on the first offense. Perhaps notifications like the one above will help the players better understand that DMs are level headed and fair.
Bans are nasty business. A necissary and difficult decision that is not taken lightly. I am glad that the DMs use it as a last resort.