Some other notes to consider:
1) Limit the number of activations per serial to 1 activation per day. If serials will be tied to multiple installs, tie that limit to that amount (IE a Key for 100 users will allow 100 activations a day) and monitor keys for statistically blatant abuse (IE this 50 use key had 100,000 attempts today). No one will legitimately run into these limits unless their hobby is installing software.
2) have a grace period to phone home if they put a legit key in so they can install without issue if the phone home server is down or they hit the daily activation limit or something. If you have a trial version, say 30 days. make the grace period to phone home 30 days. Do not pester the user about phoning home until they are close to the trial period expiring, say 7 days before the 30 days expire.
3) Have an exit plan. either remove the Check on the last version you release or after a certain amount of time passes (say 5 years) let the software work with a legit key without phoning home (so you don't have to maintain a server if the software goes abandoned for some reason).
4) Expect piracy, Especially if it becomes popular. Someone will either release a keygen or crack out the compliance checks on your executable. Piracy is a constant. Adding more Checks that get in the way of your users will just shun legitimate sales while not doing any damage to pirates. Always treat DRM as a way to slow piracy rather than stopping it, and treat the customer as innocent until proven guilty instead of the other way around like most other software firms do.