This is a red-herring, %x doesn't do what you think. The first member of the EditElemHandle is the ElementRef pointer, that's the address %x is showing you. When you call SetElemDescr and pass false for the isPersistent flag it clears the ElementRef pointer...this correct because the modified edP no longer matches what's in the cache. So your EditElemHandle with the modified descriptor is perfectly valid...this is not your problem. HTH
-B