Call of duty 1&2 had an interesting cheat prevention method. Between levels the game unloads and reloads the engine dll. If you ever employ this method, make sure to include at least an md5 hash check. Otherwise I can just edit that dll and implant cheats into it.