Response to isa
isa, I think you have it backwards. The flashbacks during the fight made it seem entirely pro-Spike, showing how Angelus had wronged him. Plus, during the fight and until the end, Angel was acting quite angry and dark, with occasional spurts of maliciousness. They seemed to be playing it almost as Spike fighting Angelus, though they toyed with the fact it was still good ole Angel at the end when he asked Spike if he was just trying to take something of his. It was revenge.
I don't think Joss is going to 'dump a pie' on Spike...at least, not again. The pie-dumping was the rape scene in season 6 Buffy.
I believe the point of the fight was to show everyone, aside from the history of well-deserved hatred between Spike and Angel, that Angel does not have this humanity-thing in the bag. Before it seemed that it was just a waiting game -- eventually Angel was going to become human, probably to end the series. Now they've thrown that into doubt.
I do not see how someone could think that in any way Spike had 'hardened his heart' -- it seemed they were showing exactly the opposite. He was letting the long-suppressed hatred and resentment of Angel and Angelus out. We've seen glimpses of it in his demeanor and cutting remarks, but now we know the origins, the terrible betrayal that set him off. That it was Angelus, and by extension of guilt, Angel, who had made him into a monster.
As for Harmony, he had no qualms about using her. Nor did he make it a secret; she knew it, and she agreed to it. Apparently at some level she resented it, but Spike isn't the only one responsible for his actions -- Harmony is too. No one should be held responsible for the subconscious desires and opinions of another person's subconscious.
This episode showed the tremendous drive that Spike has for his future, his "destiny" (notice the parallels between the chalice and Druscilla?). I think in the end it is a warning and example for Angel -- do not become complacent. You have to want your destiny as much as Spike wants his, else you may be left bleeding in the dust.
Totally separately, I hope everyone paid attention to what Eve said at the end. The universe is not in trouble because Spike and Angel both exist, that's a ploy to turn them against each other. (more properly, to bring out the pre-existing animosity) Most likely the entire "newly deciphered text" in Shanshu was BS. For all we know, the existence of two vampires could work in the prophecy. Maybe it's plural, but that cannot be read from the text or people have just missed it. Or maybe not, maybe "there can be only one."
Only one way to find out.