Don't expect a unique number across multiple device of multiple brands. I wrote a software/hardware inventory software for a cople of cutomers. My solution was to "sign" with a random string each PC/Server, knowing that if the PC is reformatterd/reinstalled, the signature changes.
I use WMI interface to query the hardware. Many system boards return '00000000' or an empty string when you query the serial number. Some (HP, Compaq, Dell) return the actual serial number, but keep in mind that it can be changed in the BIOS configuration.