i, ages ago, thought that the simple way to prevent game piracy was id codes:
each game comes with an ID on the manual. That code is the ONLY one that will work with that bit of software as its written into the code of the game.
If you choose to register your copy of the game, you give your a username and password for that code. Now if you want to reinstall the game you just type the password in, but if you ever play online or something, it checks your username and password.
Also, like the HL Key, if your playing multiplayer, there should be a master server that check your CD Key again. if the key already exists, anywhere online, you get booted.
-arcon
------
"Never offend people with style when you can offend them with substance." --Sam Brown