(And I say that with the full knowledge that my phrasing will make you less receptive to my argument.)
Environments where you can't discuss mistakes are poisonous. People make mistakes. People do stupid things. If those mistakes are not dealt with directly, they become larger mistakes, and you end up in situations where people don't take minor actions that can prevent disasters because they're afraid that somebody's feelings might be hurt.
As an example, a few years ago the college I was then attending switched from internally managed email to gmail. For a month after the switch, you could log into anyone's email account without a password. This happened in large part because there was a culture of ignoring mistakes, and people who regularly raises issues were branded as "complainers". And so when they were doing the switch, nobody was willing to stand up and say "have we done basic testing?"
There are, of course, times and places where your goal is not offending people, and criticizing them is obviously a bad idea. (Telling a VC "that investment you made a week ago was really dumb" is probably a bad way to get them to invest in your company.) But much of the time, that rule causes many more problems than it solves.
It's also worth noting that phrasing and delivery matter quite a lot, and that's something that's much harder to convey in text. There's a huge difference, as I've said already, between insulting somebody and criticizing their work. The first is not productive--the second can be.