The problem was finally resolved.
Our regime conditionally runs auxiliary code via EXECSCRIPT() in an independent DataSession.
In one set of circumstance, it did a SCATTER NAME to a property of the business object.
Because of this a dangling reference remained (the assigned property) and hence the intransigent DataSession.
The fix was to move back to the default DataSession just long enough to:
THIS.ADDPROPERTY("PropertyName",CREATEOBJECT("EMPTY"))
Then return to the independent DataSession and…
FOR nThisColumn = 1 TO FCOUNT("AliasName")
ADDPROPERTY(THIS.PropertyName ,FIELD(nThisColumn), EVALUATE(FIELD(nThisColumn)) )
ENDFOR
Thanks to David Frankenbach and Mike Yearwood for their help.
Regards to all,
Thank you,
- Frank