No clue mate. I just uploaded the entire script to the site. Take a look see. There's nothing wrong with it. And since its based on the same template that I use for all my game installers - and patches - my guess is that something is screwed up on your end.
Other than at the top of the script where the desired path is set to InstallDir that variable name isn't used anywhere in the script. $INSTDIR is used as the preface to all of your install and unisntall paths. I'm not saying that's incorrect, just odd. It's been about two years since I've used NSIS with any regularity so my functional knowledge of it is quite rusty.
You might want to check the macro that defines the MUI_PAGE_DIRECTORY to see if the edit text box on that dialog is being set to InstallDir when that dialog opens and then storing it's result in the other INSTDIR variable when that dialog closes.This comment was edited on Jan 2, 18:02.