Often the RAND() function is predictable based on the seed. This stored procedure generates a pretty good random integer because the seed itself is quite unpredictable. You can’t put this in a UDF since it is indeterminate due to the RAND and GETDATE() functions used.
You don't have to try and decipher what instance you are running. The extended stored procedure xp_instance_regread does all the functionality of xp_regread and automatically knows which instance in the registry it should look at.