Literally only people who were directly related to a bandit will ever get mad, and even they will point out that you are a hero as they spit and call you a murderer for killing their asshole criminal child or whatnot.
Interesting... That's not been my experience. One town thought I was an unhinged lunatic while the other thought I was a protector of the people.
The thing is, Were are missing a feature that worked in previous verisons. This feature being, the ability to turn on your civ, by attacking other citizens, They didn't get some kind of "law enforcement" after you, They took matters in there own hands, they attacked you, because you were named an enemy.
I'm trying to find a way to explain a different way of looking at it, so if I fail, please forgive me. I appreciate that you preferred the old functionality, but I think it's a good example of the downsides of the way Toady does development. He's put place holder code in somewhere for bits that he hasn't fleshed out yet. In this case, "What should happen when someone does something bad?" Well, people who see it should spread the knowledge and there should be some negative consequences. How will we model that? Well, hell, that's way too complicated for now. Let's say I just make them an enemy of the civ (some magical, divine stamp on their forehead) if they do something horrible and then everyone will attack them after that. OK... easy to implement.
And for years, that never changes. Until one day he says, "I'm finally going to start working on the spread of knowledge". What happens when someone does something bad? Oh, you get a bad reputation and people spread rumours about you. Eventually everyone hates you. Now we can finally get rid of that place holder code. Hooray!
Except some people really liked the old way it worked. Just look at sieges after world activation. What? I don't have hundreds of goblins poofing into existence every six months to fall on to my weapons traps!? It's an outrage! This game is broken! I don't care that there aren't goblins for 600 miles in every direction and that there are 20k humans buffering my fortress from the nearest goblin civilisation. This game has always been about sieges. Now it's just boring. And, I can totally sympathise with this feeling while still being happy that world activation is a thing now.
The worst part is that it takes such a long time to get it to the point Toady is aiming for. You really *do* want the justice/criminal code. What happens in real life if you go on a killing spree? People don't jump out of doorways to attack you on sight. You end up on the 11:00 news and the police come after you. If you are powerful enough the military comes after you. Back in the old days, you might have vigilante groups being formed to hunt you down, but if you were powerful enough, they just left you alone for fear that you would kill everyone. That's how warlords came to power. Having people trying not to get in your way because you killed an entire village is *much* more reasonable that having them rush after you to their death. Kobolds cowering in fear and crying as the adventurer commits genocide is pretty much *exactly* what happens in real life (unfortunately).
So the current code is an improvement over the hard coded place holder, from a perspective of moving the game forward. The problem is that we have a gap in functionality. That gap has *always* been there, though -- just in a different form. We had ridiculous behaviour from the NPCs (which some people happened to enjoy). That behaviour is gone, but we *still* don't have vigilante groups coming after you, or the military being dispatched. You don't have people challenging you to a duel because they want to test their strength against you. None of that will happen until this spread of knowledge code runs its course.
But like I said, it's not like that's the only lack of functionality in the game. It's rife with lack of functionality. Even though I appreciate that it used to work a certain way and you found it fun, I think it's incorrect to say that the previous functionality was any more correct than the current functionality. Both are a long way off from what is intended.