To the original poster, I would ask did you never spare Loghain in the original game? His possible appearance as the Warden Companion alongside Hawke is in effect a template for forgiving past wrongs in service to the greater good.
(Hijacking that cause I'm a bored brat.)
Does Loghain feel sorry for what he's done? To the point were he openly admits it and is ashamed to his bones? Does he agree that his actions were terribly misguided and actually wants to spend the rest of his life making it up to basically anybody, by his own free will?
Loghain freed Ferelden from the Orlesians, and did heroic things during that war, but that is also not exactly altruism. And it is ever the more so, a simple matter of perspective. First and foremost however, he was playing for his team, and his heroism stems naturally from a reluctancy to be killed. He was an incredibly skilled soldier who thus succeeded in reaching the goal of the side he was on. Other than Rainier, he's an opportunist and far too certain of himself. The thing about him is, his character never changes, only the way he processes data. Who knows when is the next time he changes his mind about what's best for Ferelden? He's essentially a reverse-Rainier.
Nobody needs to be dead. Personally, I would spare Loghain of course - he's disarmed and can simply be imprisoned. Which I would do, since Loghain cannot be trusted at his age & with the things he's seen and done. If there was an option to talk Alistair down in a different fashion than the answers provided, I would want to tell him not to sink onto his level, rather than full-on joining "Team Loghain". Hence I always let Alistair decide, and that hardly ends well for his health, sadly.
TL;DR
The decision to kill someone out of spite is detached from whether they're eventually going to redeem themselves or not. At least for me.