Okay, after doing a bit of analysis of Construct's interaction with the registry, I think I may have found out where the data is stored.
There are three keys under that key named "ControlBar", "Customization", and "PaintManager". Each of those keys holds a block of data in the form of a list of binary values, but nothing human readable.
Construct writes to these blocks immediately upon closing, (which I assume is why if Construct crashes after you make changes to the preferences, but before closing it properly, all your changes are lost).
Because the data is in the registry, it should be simple enough to back up and restore, assuming it really is the customization data I'm looking for. It might even be possible to build a ".reg" file to automate that process.
That still doesn't explain why I keep losing my custom keys and such, but if I can restore them with a few clicks it will make the problem a bit more manageable.
I'll let you know how this turns out after I try it.
Backing up and restoring the three keys ("ControlBar", "Customization", and "PaintManager") do indeed back up and restore the Construct preference customization.
I've tested it several times, under a few different circumstances, and it seems to work perfectly.
=== How to do it:
Before doing anything, BACK UP YOUR REGISTRY!
Use the freeware tool "Erunt", or the built in Windows System Restore utility to create a restore point.
Needless to say,
don't fiddle with the registry unless you know what you're doing.
- - Backing up Preferences:
Construct stores this data in the registry, under the following key.
You can use regedit, to export the "Construct" key as a ".reg" file. That exported ".reg" file is essentially a full backup of all your hotkeys and quick-bar preferences.
To restore your settings, simply navigate to the "Construct" key, and delete the three sub-keys, "ControlBar", "Customization", and "PaintManager". (Do NOT delete the "Construct" key.)
Alternatively, you can run a ".reg" file like the one below to remove the sub-keys.