How to determine application uses which registry value?
You can use Process Monitor, see: http://technet.microsoft.com/en-us/sysinternals/bb896645
Run the program at the same time as Process Monitor is running and then you will be able to see which registery entries are read.
Note some programs refuse to start if a registery monitor is running, guess that they are trying to protect licencing information.
Try Process Monitor.
It shows what Registry keys and values each process is using, among other information.
There is Process Monitor from Sysinternals.