Hi Wesley Crihfield
Thanx for your very elaborate explanation!
I agree, that what you have explained about the proxy of a proxy of a proxy, when dealing on a Face whose containing part is buried deep down in my assembly-tree would make sense.
But other than I would have expected (even before I have read your post), the NativeObject-property seems to lead to the original face directly, skipping all the intermediate proxies.
Instead, its "ContainingOccurrence" (which also directly leads to the containing part) is exposed as an OccurrenceProxy with the entire OccurrencePath attached:

IMHO, the shortcut to the "Surface" (nice pun btw. 😄 ) might be handy sometimes, but it should rather be a bonus-property, whereas the "NativeObject"-Property should rather lead to the next-Level's FaceProxy if applicable. Plus, they should offer a “ContainingOccurrence”- and a “ContainingLeafOccurrence”-property, where the first one delivers the next-level subassembly, and the second one is the shortcut to the containing part. That would make it much more stringent.
(Note: When creating a constraint via GUI, the entire process of creating a proxy of a proxy of a proxy takes place automagically in the background)
Now about transient B-Reps: I'd say they're not really that "transient":
E.g.: When I create a very simple Assembly, containing nothing else than a single occurrence, of a very complex part, the assemblie's FileSize is very moderate:

But as soon as I drill a hole into that complex part in the Assemblie’s context, the file size explodes:

That is, because the Assembly does now contain an entire (associative) copy of the surface-body from the part. It’s pretty much like an associative Body copy in another part-document or a derived part, which both do also contain (associative) copies of the original body:

(The Part is that much bigger, because it contains two copies of the embedded sab-file: one inside PmBRepSegment plus another one in PmDCSegment)
So, the difference between Assembly and Part is becoming somewhat blurry here.
Anyway, the solution to the problem of getting hold of the original face of an edited body proxy that has been proposed by Michael.Navara in my related post (see link in my post above), seemed to work nicely at a first glimpse, but on a deeper (but still shallow) view i’d say it’s unlikely to work reliably when the lid and the bottom of a simple extruded-circle-can both have the identical AssociativeFaceID of “0”:

Or, what happens if the original face has been cut in two when beeing editet in the assembly context?

I haven’t yet tried to figure out what happen’s in this case, but my intuition says, it’ll totally bust the AssocFaceID-approach. 😞
Anyway, that AsscoiativeFaceID-Stuff seems pretty “beta” to me – especially after having read your comments on that.
So, the conclusion would be: there is no satisfactory solution to the whole thing, is there?