Nochmal zur Vervollständigung:
In meiner Windows.pas (Delphi 2009, Update 2) ist LPCTSTR folgendermaßen definiert:
LPCTSTR = {$IFDEF UNICODE}PWideChar{$ELSE}PAnsiChar{$ENDIF};
Das sollte also eigentlich sowohl mit D2007, als auch mit D2009 funktionieren.
Tuts aber leider nicht, da bei Benutzen von PWideChars und InternetQueryOptionW das oben beschriebene Problem auftritt und unter D2009 nur Müll zurückgegeben wird. Der Fehler muss also noch irgendwo anders sein, aber egal, da mir die
Ansi-Variante ausreicht.