This could be a tough question. UserString support for various objects has always been a bit uncertain to me. As you mention, FDK and ES docs only list the property for a couple of object types, but it seems to work in many places when used with the FDK.
ES seems different and perhaps it's a bug. It does seem certain that ES does not support the property on a table object, but I don't know if that is by design. The documentation suggests that it is. If so, it would seem that you got lucky with the FDK but that luck ran out with ES.
You said these are structured documents. Any particular reason that you can't use the element object instead? The UserString property seems to work reliably with those.
Thank you for the response. After reviewing my code, it appears that I was using GetProps() from the table format, whereas I should have referenced the GetProps() from the tbl.
I noticed that, but thought maybe it was on purpose. Either way, I don't think it is related to the UserString problem.
The Userstring has been problematic in Extendscript, whereas it works fine in FrameScript for every object. Rick Quatro has been back and forth with the engineers and they have made some fixes, but it still doesn't work in a reliable manner. Hopefully, Rick will jump in here and add some more details.