Don't link security to hardware
I noticed that this discussion has been posted a while back, however I want to put in my two cents of worth for any body running into this thread.
Yes you can edit the hard drive serial number, and I have a DOS POS program that is still sold today that does exactly that. This program was written well over a decade ago and stil is going strong (might be because it looks a lot like a Windows program).I later sold this program and source code to another company, and was ask to write them a Windows update as well. The same approach was use in the Windows version of this program on the new owners insistence. However in my opinion this is not a good idea to protect your program in this manner, nor are any method that makes use of any hardware serial number. The reason being that it is a logistic nightmare to keep the legal users up to speed if they do have a legitimate hardware change for any reason whatsoever. It is OK to support a couple of hundred user but very BAD when you have thousands of users.
My advice is to rather brand the product extensively with the legal user name. Very few people will use software in their company if another company's name is splashed all over it(Remember your printed output as well)
Pirates will always be with us, rather figure a way to let them work for you than against you. If your software is worth its' weight in gold people WILL buy it. Any pirated software with your name on it will eventually lead to new sales if your program is worthwile and not over priced.