just be careful about going overboard veign -
i hear developer's sometimes talk about booby trapping their programs to erase files on the users computer, or make the program behave erratically. these can backfire on a developer by causing real anger from people who might have been potential customers, and can make people believe your program is buggy and thus not worth purchase.
my thoughts are like this:
the best protection against piracy is complicated issue.
but the best protection against losing money to piracy is much simpler matter. most people who pirate stuff are probably never going to buy it no matter what; some proportion can be convinced to donate/buy if they like it and see worth in it. aim for them. regular improvements, good tech support, etc.
just my current thoughts - i'm not saying that a medium level protection might not serve to encourage people to purchase programs, just that focusing on protection is probably focusing on the wrong sliver of potential customers, and the time might be better spent addressing the needs of other users.
the story with ultraedit is a good example; they moved to using Armadillo protection for exactly 1 release version - they completlly alienated their loyal customers with the slowdowns in startup. next version it was gone, and everything went back to normal - i guess they decided that the piracy was probably just spreading the market share and any improvement in converting sales with better protection was causing a much worse damage in public relations, etc.
just some thoughts, take them for what they're worth.