hi Steve,
Yes, thanks for bring this up!
1) We do not have well documented the 'addColumn', as well as other data-set code, essentially it adds the 'attribute', then call refresh, then next time the column & all the column data will sync down. I apology for the inconvenience bring to u. In the mean time, feel free to post question in forum or directly send me email achen@microsoft.com.
2) Regarding the view changed to QuickFind view but the instance not expired. This worth more discussion. I will follow up on this
3) I think to achieve ur demand, please see if you could use <property-set>, which will always sync down the designated column regardless the column is on the view. It's view agnostic.
Let's say in manifest, it's
<data-set name='data-set1'>
<property-set name='property-set1' />
</data-set>
Once u bing the 'property-set1' to any data-type combatible attribute, say 'field1',of that entity through customization UI. Then 'field1' is always in columns and its data will sync down regardless how we switch the view.
And the filtering logic could be written directly use 'property-set1', not 'field1'. I will share a sample code by today.