Just got through with an email string from support: This is intended behavior and will continue to operate this way.
I had always thought about the auto-column-type setting thing along the same lines as the initial value formula space we have in appsheet apps; it’s evaluated when things are first created, but once it’s saved its set - and if you manually change it then it’s 100% manual from then on.
This was incorrect.
Anytime you save the app formula, not sure about initial value, appsheet will reevaluate what column type it thinks the column should be based on your formula.
Lock down your formulas with type-converters (DATE(), TEXT(), etc.)
In my case here, I have a long conditional branching IF() statement that pulls in data from different parts of the app based on certain criteria; one of these is a decimal type, and since I didn’t wrap that part in TEXT() or CONCATENATE() the system picked up the decimal and set the type to that - I need the column to be text for display purposes.
Wrapping TEXT() around the [Decimal_Column] part worked, because now all the branches of my IF() statements are all the same type: text.