What, exactly, was Moshe's "sin"?
If Moshe knew that the Jewish people had a tradition from their patriarchs that a redeemer would arrive (as Maharsha writes) then why did he fear that "they will not believe in me"?
However, Moshe's fear was that after so many years of slavery and persecution, the thought of redemption would be too obscure for the Jewish people to take seriously. He knew they would believe him in a general sense, but he was concerned that they needed some additional sign to make their belief concrete and palpable. He felt that a miraculous sign might arouse their inherent belief to a more tangible state.
If so, why was God upset with Moshe's comment? He did not deny that the Jewish people were believers at all.
However, Moshe was making an extremely subtle insult to the Jewish people. God was upset that Moshe did not realize that the Jewish heart remains·intact, and is impervious to the sufferings of lengthy exile.
In fact, this only points to the greatness of Moshe, that his personal perfection was so impeccable that such a tiny oversight could be considered sinful!
From all. of the above we can learn the tremendous importance of always speaking positively about the Jewish people. [It is also significant to note that Moshe did not speak disparagingly directly to the Jewish people, but only privately to God.]
(Based on Sefer HaSichos 5751, vol. 1, pp. 247, 250)