I don't get what you posted here when you said updating a real setting does not persist. I've used this a few times and here what I noticed.
You cannot update a setting that hasn't been assigned a value. Once the input has been manually assigned a value from the device page, device.updateSetting() works fine. This was mentioned in a post a while back and we have asked @chuck.schwer if we could get the device settings to behave like the app settings ie allow modifications without having to manually set a value in the device page first. I recently asked fort an update on this because I could really use this functionality on a driver I'm building.