I've been following this incident a little while since it had happened.
Dhoni should've been punished severely for harassing and threatening an umpire.
Saying things like "We've had problems with you before" is unacceptable, it's simply not in the spirit of the game.
Umpires are humans too, they make mistakes, however, Harpers correct decisions percentage in tests, in favor of India, is 96%. Which is very much acceptable.
Besides, it was Dhoni himself opposing the use of the UDRS in the series versus West Indies.
This puts more pressure on the umpires to take accurate decisions, so when one makes a mistake and Dhoni criticizes it publicly and afterwards, then it is a little two-faced, don't you agree?
On one hand you don't want technological improvements in the game, but on the other hand, you also expect 100% accurate and perfect decisions by the umpires.
Being the captain, he should've kept his cool and serve as an example for the rest of his teammates.
And yes I know the Australian and England squads in the past and now didn't have the best of attitudes, however, you cannot point a finger in that direction and justify your own wrongdoings.
That's not the way to go, i'm completely neutral in this, if it was Shahid Afridi or any other Pakistani player guilty of this incident, then i'd also ask for punishment. No exceptions can be made just because a country recently has won the world cup and is now in the spotlights, or simply because the BCCI is increasing its tight grip over the ICC and the game of cricket, only because they generate the most revenue.
Times are changing and the balance of power is shifting, but cricket itself should never be the victim of it.
Watch this incident from a neutral perspective my fellow Indian friends, and don't let your emotions be the judge.
The ICC should have supported Daryl Harper in this case, this clearly sends a wrong message to the other umpires in the elite panel.
Just my few cents.