Nur eine flüchtige Idee:
Man kann doch über die Windows-API die Seriennummer eines Datenträgers ermitteln
(GetVolumeInformation). Und genau nach dieser Nummer schaut das Spiel beim Start.
Der Nachteil ist natürlich, daß damit ein gewisser Aufwand verbunden ist, da jedes verkaufte Spiel vorher auf eine ganz bestimmte Nummer geeicht werden muß.
3DGS-Plugins werden auf eine ähnliche aufwändige Weise geschützt. Es gibt in GS die Variable user_name. Die DLL, die ein Käufer bekommt, wird nur laufen, wenn user_name und der Name in der DLL übereinstimmen. Auf diese Weise schützt z.B. Ventilator sein MeshPlugin.