So, if I understand you correctly, you don't need to change LevelCtr value when the level you choose is lower than the maximum level you reached right?
I would say that you need to get the LevelCtr from LocalStorage as soon as you start the game. That's probably the one and only time in your game where you should get the value from the LocalStorage, since the global variable "LevelCtr" isn't dependant on the LocalStorage Key.
You just need to check the LocalStorage Key when you start the game.
At the beginning of every level, you should check whether the current level's number is higher than the current LevelCtr and if that is the case, save the level's number as the LocalStorage "LevelCtr_Key".
Lastly, when the user quits the game, the current "LevelCtr" should be saved to the LocalStorage, in case, the "LevelCtr" variable has increased since the last change of the "LevelCtr_Key".
This should work, in theory.
Your images look like you don't have many events, so I'd be happy if you could provide me with a .capx so that I can refer to the event sheet context too. Thanks. :)