Well it is, but you are not updating the text box to show it.
Right now, if it's at 0 when you start a game, you play, get a score. Then at level or game over, the highscore is set to the score because it was at 0 and the score is higher.
To test it try this. Play the game and get a high score.
Restart the game and get a lower score, the old high score should still be shown.
Now, hit H.
Restart the game and get a score that is lower than the old highscore, it should show the new score because you reset the highscore to 0 before restarting.
I know, it's hard to explain :).