Revealing mistake: When the police dog wants to attack Swagger and bites the cop instead, it's obvious the cop wears thick protection under his coat sleeve. (01:03:20)
Revealing mistake: When Swagger is going to see the Russian sniper, the bait, he takes out one of the guards with a wire around the neck. The only problem here is that the wire isn't even close to the guard's neck. (01:26:10)
Revealing mistake: In the stolen FBI black car Mark Wahlberg is driving over the guardrail into the river the trunk flies open, revealing the inside of the car trunk. The mistake is that everything inside the trunk has been stripped out including the carpet because the car is going to be in the water for the film.
Revealing mistake: When Swagger is on the mountain and looking though his scope at the guy with the shotgun, the audience is shown what Swagger sees though his scope. However, the pictures we see does not match that very telescopic view Swagger would see at that distance but instead something shot with a relatively wide angle lens at close distance.
Answer: You are completely correct. This is a clear mistake, the colonel could (and would) most certainly be charged for his crimes.
BaconIsMyBFF
Though unlike the movie, it's not up the attorney to decide if a military member gets charged, it's up to the judge advocate general.
Actually it's not a mistake. The colonel is not a member on active duty in the service. He's ex military. He's the one running the contractor group that carries out the senator's dirty deeds.