So is it possible that that variable does not exist?
As long as you have Steam installed, no. Steam creates that variable the first time you run it.
I think the documented way of launching an steam game is via the steam protocol, in C# something like this:
System.Diagnostics.Process p = new System.Diagnostics.Process();
p.StartInfo.FileName = "steam://rungameid/12900";
p.Start();
The registry key is not documented in the valve developer wiki, it may be removed in a future steam version.
Dim audiosurf As New WebBrowser
audiosurf.Navigate("steam://run/12900")taken from AWTP's code.
I've tried everything now, it just doesn't work...
What do you mean by "everything"?
Well there is a simple solution for this, the AWTP can simply check for the AS folder via Steam, if can't find it, to prompt for the player to select it manualy.
After the player selects the folder the AWTP can do several file checks existance in that folder to verify it's really audiosurf and up to date.
Prompting for a folder may lead to pirates being able to use their version. Using Steam's path was added as an anti-piracy measure, since you'd always be able to trick AWTP into thinking your version is legit.
Since I think every answer you guys had was answered, any new posts that I consider to be off-topic will be deleted. Any new questions about AWTP and how it does things can be sent via PM.