"The most problematic are the desktop size settings under General Options. Once I set the values, they revert to their default values when I to back to the tab"
Well once you set it there's no good reason to re-open that tab unless you want to change the values, otherwise it should stay at what you set.
There are a couple of factors at work here, but if you wish you can do a simple workaround.
(though as mentioned why go there unless you mean to change anyway..
The default for hsize & vsize are 1, set both in /usr/share/compiz/core.xml & /usr/share/glib-2.0/schemas/org.compiz.core.gschema.xml
You want to leave /usr/share/compiz/core.xml as is but edit /usr/share/glib-2.0/schemas/org.compiz.core.gschema.xml to whatever you want, typically 4 for hsize.
So open the file in a root text editor & change hsize, line 200 -
save & exit editor
<key type="i" name="hsize">
<summary>Horizontal Virtual Size</summary>
<description>Screen size multiplier for horizontal virtual size (1 - 32)</description>
Then in terminal -
This command must complete without error or comment, if not for some reason don't log out till it does.
sudo glib-compile-schemas /usr/share/glib-2.0/schemas/
Then log out/in, go to the setting in ccsm. It will likely show 1 then will auto switch to your chosen number
Otherwise the only custom settings I see that get reverted or 'lost' are those for the commands plugin. In this case the only way around is to integrate the command & it's binding(s) which is a bit more complicated & has to be done in source.