I just saw this thread and want to give it my best guess:

In the "User Info" dialog properties there is a page called "User Types" that might be something to do with it. On this dialog there's a checkbox called "Enable User Type". My theory is that if you enable this since it's a radio button it returns 1 or "all users" and 2 for "only the current user", you could then set a variable %installtype% that if the dialog returns 1, set it to everyone, if the dialog returns 2, set it to just me. After doing that create an if... statement in your script surrounding your registry changes. something like

if %installtype% = everyone then
modify registry HKLM\A
modify registry HKLM\B
modify registry HKLM\C
modify registry HKCU\A
modify registry HKCU\B
modify registry HKCU\C

Also, if you're targeting vista or newer or server 2008/R2 or newer you can set the UAC Execution level at General Install Properties > Generator > Execution Level. By default it's RequireAdministrator. To allow your install to run without UAC elevation, set it to "asInvoker" which uses the least privileges available to the current user, or set it to "HighestAvailable" which will run the installer using the highest privileges available to the user.

These are just 2 thoughts that might help you our but I cannot guarantee it Try one, try both, see what works or if I've lost my magic touch.