Vorschlag zur Fehlersuche...
Unter einem funktionierendem System (zB SP2) die nicht funktionierende Version (zB SP1) der shlwapi.dll ins Anwendungsverzeichnis kopieren und eine leere Datei namens Project1.exe.local anlegen (so wird erzwungen, dass die lokale
DLL verwendet wird).
Das gleiche könnte man auch umgekehrt testen.
Zumindest könnte man dann das Problem auf die shlwapi.dll eingrenzen (oder eben nicht).
ps: ich vermute ja still und heimlich, dass es an irgendeiner Kleinigkeit liegt (Manifest, Ressource-IDs...)