Forgive me if I don’t get this exactly precise because it is based only on my experience as a user.
Refresh Counters (RC) has problems with traits where the trait’s state is determined by command keys. Text and Layer are two of these that the Vassal team (particularly, @Brent_Easton) has addressed in the past, resulting in those options that you see in RC today.
Without those options, as you have observed, Text (and also Layer) traits are prone to reset to their initial state. In the case of Text, this might mean that you lose text label data previously entered manually (via the Text Label key command). That is how I first came across the issue.
Other traits that exhibit the problem are Rotate and Property Sheet. Those have not been addressed as yet, but fortunately are a bit less of an issue in practice.
One reason you might not being seeing this in Layer is if you are inclined to set Layer state from an expression, rather than Key Command in your modules. iirc, Text Labels can be similarly “protected” by setting the value of the text label via a separate Property rather than directly on the Text Label itself.
I am a bit sketchy on the difference that the checkboxes make to allow the RC to work, sorry. Perhaps someone will chime in with a better explanation or to remind me of where this is documented. I will endeavour to do a bit more digging myself when I next get a moment.
Yeah, I’d really like to know what the two, “Use names to match modified…” are suppose to do. I’m sure they’re perfectly clear to whoever wrote but not to everyone. Not criticizing here as I have done the same thing many times over in the past.
Found the post where I first highlighted that I’d come across the original issue. It also reminded me of the involvement @CloClooo who hasn’t been around Vassal development for a while but whose contribution to Refresh Counters took the thing forward in leaps and bounds. Thank him for delivering mass refresh (“Refresh Pre-defined Setups”), a massive boon for modules with lots of scenarios.
Brent explains the issue at this point along with their proposed solution which resulted in the options that we now have.
@jimpyle I’ve so far always been able to avoid that kind of manual effort, despite the issues with Text Label / Layer changes.
To avoid the problem, you might need to apply your changes to the text label / layer in a couple of Refresh passes.
Have you done much other changes to the module since refreshing and noticing this issue ? If you want to try a bit more with Refresh, you might need to start from back where you did the Text Label or Layer change that caused the problems.
If you want to steer me around the relevant parts of your module, I am interested to see if I can help you avoid the chore of re-editing scenarios.