You got to ask yourself - will anyone be buying my product? Is it the sort of person who would use a hacked version? If someone was to hack your program would they have been a customer otherwise?

The system I use is: I provide my users with a product number, they go online enter the product number and their details - the online script creates a unique activation code based on some hardware info that it receives automatically from the user. This way I can see who has registered and how many times etc.

We allow users to register up to three times, yes it means they could be giving it to their mates but my analysis of my data shows that most people register once, some people register a desktop and laptop computer. It seems most people are pretty honest. The copy protection could be hacked I suppose but I really can't be bothered with it.

Before implementing copy protection we received very few support requests, afterwards support shot through the roof. I had to tweak the system and make some changes in the presentation to improve it - due to these simple interace changes support for activation has dropped from 1 in 8 to 1 in 300 sales so I am pretty happy that way.