I thought the ending was good, reminded me much of Crisis Core, and I think that was a good thing, as Crisis Core had one of my favourite endings ever. Shame there wasn't many scenes though, like a montage or something to add more epicness.
Unfortunately, someone already spoiled me to the fact he dies(Although not who killed him), so I knew it was coming, but even if I hadn't been spoiled, I'm sure I would have seen it coming anyway. It was fairly obvious that the police wasn't going to let him go, I mean although he helped them get all the other 3 members of the gang, they weren't going to turn a blind eye to the fact he was a member of it too. I knew throughout the game that it was probably the police who he was working for would kill him, they were the most likely suspects. I wouldn't have put it past them to use him to get to the other 3 and then kill him like a dog. The fact that the game didn't end, and it made you do those missions at the farm, suggested that John's battle wasn't over even more.
That said, John was a bit stupid. He should have known it would have been that easy to let his past go when the police were hunting down his former allies. He should have grabbed his family and moved elsewhere to somewhere which the American Army had no control over, for example Mexico. After all he's done there I would have thought he'd be welcome in open arms. However he stupidly didn't, and it was understandable he decided to just walk out to them. he could have killed them, but that would have made problems worse, he would have been hunted further for killing them. It would have proved that he had no plans of changing his ways. The police were bastards. I was glad they gave you the opportunity to find that Ross, and and shoot him multiple times in the head in a duel. I hate playing as Jack mind you. His voice sounds so childish it's annoying.