When $class is required and why is it sometimes not required for 'identical' objects?

Thanks for the reply - I don't actually disagree with you on the apples v pears but I can't find it - everything I can see points to apples v apples - except the behavior.

You are correct that the left column is trying to set variables on the user object, definition to follow. As far as I can tell, all the property wrappers are the same - in fact most of them were cut and pasted from 1 or 2 sources, with the ID field being the same across all objects and it is almost if not always an @OptionalParent object that I'm trying to access the ID property on.

I'm still rather new, so no doubt I'm dealing with a PEBCAK error, but I just can't find it the differences, and I usually do so well with those Highlights magazines!

Ultimately I have determined that the save/update issues are when translating from a DTO to the model - DTO has a valid ID but it gets lost in translation to the model and therefore not saved. My best guess (without opening a whole other topic inside of this one) is that I'm not assigning it correctly, likely due to these inconsistencies.