Hm, yes, it might not be obvious, but the options specified in a device configuration act as only a starting point - Duplex will import those setting on the first run, after which the options are stored separately (in a file called preferences.xml).
In other words, if you had sent that configuration file to me, and I was running it for the first time,it would work just fine.
For the most part, this approach works great. Device configs rarely need those modifications, and the aim is to provide a good “out of the box” experience.
However, once you start manually modifying or creating configurations with custom options, the preferences file needs to be wiped from disk once you’ve run the application. And as long as Renoise is running, you can’t even do this since it will recreate the file whenever possible.
For a development workflow, I’d say the best choice is to experiment with the options while Renoise is running. Once happy with how it works, exit Renoise and open the preferences file. All the application options will be there, ready for copy-paste into your configuration file.
For example, it could look like this
<Transport>
<options>
<pattern_play>1.0</pattern_play>
<pattern_stop>1.0</pattern_stop>
<pattern_switch>1.0</pattern_switch>
<jump_mode>1.0</jump_mode>
</options>
</Transport>
Then delete the preferences, boot up Renoise again, and it should use those settings as the starting point.
This whole persistent storage is something I’d like to streamline a bit more, also to allow e.g. export of customizations before installing a new version of Duplex.