I was once looking for getting the HDD serial number without using WMI, and I found it. The code I found and posted on StackOverFlow.com works very well on 32 bit Windows, b
This code should give you the hard disk serial number. It's similar (ReadPhysicalDriveInNTWithAdminRights) to your code you linked to but with several additional functions.