JMRI _should_ be writing that which is displayed on the screen when whatever command to write to the decoders is executed.? Hopefully it is either “Write all . . . “.
?
Reading back the values of the CVs _after_ the “Write .? . “ to the decoder would be a good idea, but I suspect the OP has done the equivalent by using the compare process on the CV’s tab.
?
Anything that sheds further light on what is occurring is a good idea.