I think you guys are missing the point. By the end of episode 21, I believe that Suzaku had forgiven Lelouch for what he had done. There are many reasons why he did this.
Firstly, in episode 'Assassin from the Past', Shirley reveals that she has forgiven Lelouch for something that he had done to her an urges Suzaku to do the same. Also, by the end of the episode, Suzaku realises that both Euphemia and Shirley knew who Zero really was, and yet they both kept his secret to the very end, even though revealing his identity would have prevented both their deaths. This leads Suzaku to realise that Zero may not be as bad as he thought.
Furthermore, in 'One Million Miracles' while contemplating what to do, Suzaku comments that both Euphemia and Nunnally wanted to forgive Zero for his sins. Although it is not enough at the time, it does create doubts within Suzaku which help lead to his changing sides.
Moreover, in 'A Taste of Humiliation', Suzaku confronts Lelouch about his past sins. Lelouch, not caring about himself and wanting punishment to atone for his sins, lies about everything he's asked about. Suzaku, having experienced this already, realises that he's lying, and perhaps finally understands that Lelouch didn't want to kill Euphemia or anyone else. This allows him to open up to the prospect of forgiving Lelouch, though he doesn't at that particular moment. This moment, in particular, was paramount in Suzaku's joining sides with Lelouch.
Finally, after the main events of the 'The Ragnarök Connection', Suzaku, once again, confronts Lelouch over Euphemia's death, but Lelouch challenges him and says that nothing is unforgivable. (Since Lelouch never blamed Suzaku for killing his father and that he was forgiven by those closest to him, Suzaku found it in his heart to forgive Lelouch, too.) This, coupled with that fact that Suzaku had realised that Lelouch was now fighting for all humanity, is the final turning point in the friendship/enmity between Lelouch and Suzaku.
PS. For those with any doubts that Suzaku had forgiven Lelouch by the end of the series need only be reminded that Suzaku was weeping when he killed Lelouch.