I've put in display statements to verify that it is hitting my code on the upgrade installation and it sets the registry values correctly, but InstallShield deletes the entries at some point after that.
I've tried putting the code in OnFirstUIAfter, OnMoved, and OnEnd, but the end result is always the same. I created a test installation that does nothing but set a single registry entry in script and duplicated the problem. I've had an open call with InstallShield on this for over a week.
This doesn't seem like a very obscure thing to do, and I can't believe more people aren't running into it. Has anyone else seen or solved this problem?