I've lost a few CD keys, and it was really a pain. Now I always write them on the game CD... but in general, if a game requires key, I think it should be marked on the original CD (not the jewel case or box).
Any "activation" ala Windows would prevent me from buying any software (except Windows... sigh). If I were to release a game, I would probably allow patches to be downloaded for free, but require a key to be entered for the patch to be installed. That way, keys could be revoked in the future (if some were found to be massively duped), but there would be no Online BS to mess with (patches could be mirrored, etc). This would require big keys, with so many possiblities that if somebody cracked the keygen, any random new valid key generated would have a statistically zero chance of matching an existing customer's key - in other words, a duplicated key means that somebody gave his key to someone else. And if a flawed, crackable keygen was used, the only people to suffer would be the people that chose the keygen.
There are no perfect systems, but if you can make it take more than $39 worth of work to run the game illegally - without ever harming legit customers - the level of piracy will be insignificant. And BTW, I think requiring a CD in the drive to play constitutes "harm"
-Cherry