So I suck at vb so I can't check the validity of your code. But it looks like you are trying to change a HKCU setting. If the user logged into the machine at the time of delivery is no a local admin LANDesk will elevate the rights to the local system account. So I would try running as the Current User's Account. This can be changed on the distribution package - see page 758 of the manual. The assumption here is that users will have rights to modify the key.
If your user has rights then what ZMan recommends is the easiest. If not, you can still do this, but it's a lot more complicated.
You will still need to make sure the user is logged on (so we can find that user's SID in the registry, which can be used to find that user's %userprofile% location, which can then be substituted into the rest of your script as your userprofile variable). Let me know if your users have rights or not, if they don't then I will try and cobble something together that should get you a valid userprofile variable. I'm not going to do it unless it's actually needed.
If you want to convert to Autoitscript then this UDF makes like so much easier. I have used this function to change all HKCU settings for all profiles on a machine. Works extremely well.