God revealed to Moses that He had hardened Pharoah's heart. It wasn't so that Moses would tell Pharaoh. He wanted Moses to go and speak His word, but He didn't want Moses to have false expectations in freeing His people right away, and it was a way to encourage patience. It was also a way to show that God is the one in charge of the situation.
We are to continue speaking the truth to those that oppose God, even when their hearts are hard.
God had many goals and purposes in this story. God wanted to free His people, show His power as the one true God (over the false idols of Egypt), and to punish the Egyptians.
Another goal was so that the people of Israel would know the Lord and share these signs for future generations.
When Moses approaches Pharaoh, it is with the question we should reflect on as well - how long will we continue to disregard God's commandments and resist repenting?
Pharaoh's counsellors could see God's threat was going to come true if he didn't obey. Sin can blind people to their false ideologies and cause harm to others around them.
Pharaoh tried to dictate the terms of releasing the Israelites. Moses sticks with God's word. Pharaoh projects his unreasonable behaviour on Moses because he can see that the Israelites are trying to leave for good.
After the locusts arrive, Pharoah calls Moses to return. This shows God's character - that He is open to having His enemies call on Him for help even after pushing Him away. It isn't true repentance because Pharoah's behaviour never changes.
How can His harden Pharoah's heart and still hold him responsible? Pharaoh was already depraved, so when God gives him up to his sin, it just leads to more depravity. The only hope for Pharaoh would be for God to soften his heart.