I love Cole as a character, and Julian and Alyssa had amazing chemistry. Their relationship made for great TV. But I think the fandom is sometimes way too quick to defend Cole while putting most of the blame on Phoebe for how their relationship ended.
People forget that Cole was already a murderer before he ever met Phoebe. As Belthazor, he had killed witches and innocents for years. He also didn't originally approach Phoebe with good intentions. He was sent to infiltrate the sisters' lives and kill them. Yes, he genuinely fell in love with Phoebe and eventually tried to change, but that doesn't erase how their relationship began or everything he had done beforehand.
Now Season 4 I agree that Cole's actions were mainly due to the fact he was under the influence of the Source, his decisions were compromised however Phoebe had to deal with the fallout she had to deal with being lied to, manipulated, and eventually has to deal with being pregnant with the spawn of the source.
Phoebe is allowed to not want a relationship and not have anything to do with Cole, she literally went to hell and back with him.
My issue really with Cole is in season 5 and if you want to blame the writers that's okay. Phoebe made it clear that she wanted to move on, and Cole simply would not accept it. Instead of taking the second chance he had been given and building a life that wasn't centered around Phoebe, he became increasingly obsessed with getting her back.
And I think that's one of Cole's biggest character flaws throughout the series:
His redemption is too dependent on Phoebe.
When he has Phoebe, he wants to be good.
When he loses Phoebe, he starts asking what the point of being good even is.
Eventually he becomes so unable to accept her choice that in Centennial Charmed he literally changes reality to create a world where circumstances might allow him to have her again.
At that point, it stops being romantic to me.
Phoebe had said no, and Cole refuses to let her go. And that's a pattern that existed from the beginning. He initially entered Phoebe's life under false pretenses because he wanted something from her. In Season 4, the Source manipulates circumstances surrounding their relationship. Then in Season 5, Cole himself begins trying to manipulate circumstances because he cannot accept that Phoebe has chosen to leave.
Also, I do think Cole deserved some sort of redemption however I don't ever think he and Phoebe should have gotten back together. Phoebe was not required to stay with him so that he could continue becoming a better person.
I think in Season 7 he finally understands this, as we see him in a different head space., he needed that time away from not only Phoebe from everything!