The fact is that he probably lost the captaincy because the coach, John Buchanan told SRK that he needs to have complete authority over the team if SRK wants the trophy. That meant controlling who is in the team and who is not, who bats where, who is bought, who is sold, etc. etc. It has never been a hidden fact that Ganguly is not liked by coaches who have any sort of authority over his presence in the team. If given a choice, no team would have him because of his work ethics but Ganguly on the field is different from Ganguly in the Nets and that is what John Wright had figured out. Ganguiy can carry the team purely on adrenalin and these Aussie coaches don't understand that.
In an article on Gangulay's site, he states that a "cricketing decision" was made between SRK, Buchanan and himself. It started when Buchanan started a controversy over the idea of having two team captains. Sounds to me like they gave it to Buchanan and Sourav stepped down. http://www.souravganguly.net/articles/2009/Stripping%20captaincy%20from%20Ganguly%20'cricketing%20decision'%20Shah%20Rukh.htm