These are the only things I disagree with. Harvey dent is the city's white knight.. but in the ending monologue he describes batman as the city's dark knight because he can take the soiled name and everyone hating him (at least for a while). He's not the hero the city needs, he's the hero the city deserves.
If they found out about his murder and put him away, then Dent couldn't be "hero that the city needs" anymore, his name would be soiled and the figurehead of that ability to do good without killing and violence would be gone. There's a reason they hide dent's dark side from the public.
If they hadn't ended it the way they had, then the only hero the city has left is batman, which is great except for the fact that they're left with the thought that the only way to beat the crime is vigilante justice and violence; much like the guys at the beginning wearing hockey pads.
I could be wrong, but with the character build up of two face/harvey that's the only ending they could've had with the undertone of the movie that they set.