My 2 cents is this: I've heard that newer CPU's are supposed to have a unique identity encoded into them, but this is "turned off" by default. I don't think you'd want to mess with that. Also network cards are supposed to have a unique ID associated with them, but I've never heard of an API associated with the ID's. You can use GetSystemInfo to get generalized info about the hardware. GetComputerName will get you the unique computer name on your network.
--Bill
One may not reach the dawn save by the path of the night
--Kahlil Gibran