When you have changed anything in the configuration, the product default is no longer visible. This means that you cannot easily revert to the default value. It also means that it is not possible to do a real 3-way merge during upgrade.
One idea is to install a copy of conf.d as conf.default. Then, thinlinc.hconf could be changed to:
This means that all default values will be available below "/default". So for example, you could do this:
tl-config /vsmagent/xserver_args=`tl-config /default/vsmagent/xserver_args`
This feature could also be built in to tl-config; bug 4650.
One problem might be that there's really nothing that prevents you from changing the default values. We could consider extending Hiveconf so that it can mount "readonly" (or refuse to write to files with a read only mode; this is currently not the case).