Sorry for the super long response!! 
"dimensions associated to the body gets a new ID and become disassociated" @keqingsong
That's good to know. It gives me a much better idea of why it loses associations or how I can expect associations to be lost. 
To be honest, as an end user, I'm confused as to how the dimensions are associated - so when they lose associativity I'm never sure why they were lost, especially in cases where there was no change to the actual size or shape of the part. Your explination gives me a better idea of when they will get lost, and why certain operations may change the body so that the dimensions are no longer linked.
Another reason why it may be so confusing, is that the dimension may still be visually "sitting" on the line you want it to measure, so users may think, "Why is it dissociated? It's still on the line I want to measure!" without realizing the endpoint (for lack of a better word) of the dimension is now sitting on "empty space" as it were, that it doesn't "auto-heal" to the nearest dimension-able point.
As users who may not understand exactly how programs work use the drawing suite, I can easily see someone think that adding dimensions on the drawing is just like attaching them to certain "points" on the part itself - that creating a part into a component or splitting it doesn't move or remove the points, so why do dimensions dissassociate? But in reality, you are just adding dimensions to a representation of the part, and the representation needs to be rebuilt when certain things happen.
If a user creates a drawing from a part, and then goes back to the model and does someting that would case the dimensions to loose association, would it be possible to flash a warning? "This operation caused the drawing "DWG #" to lose associativity" with the option to Continue/Cancel? I'm not saying implement this week, just asking if it is possible. I'll add it to the IdeaStation if so.
I come from a program that implemented this in a certain way (but very inconsistant) - if the dimension lost association, it could:
1) attempt to "heal" (reassociate to the closest point, very sketchy in complicated drawings but worked okay),
2) remove the dimension entirely
3) Keep the dimension hanging in space (No point close enough to reassociate to).
They have a CRAZY different drawing package that I wouldn't wish on my worst enemy, though. I don't know how your dimension association code is written - is it possible to add an "auto-heal dimensions" button that would attempt to reassociate dimensions to the closest point on a drawing? This would be greately helpful in many cases - reasociating dimensions is very tedius, and (at least in my experience) most of the time, the dimensions are sitting on top of the point I want them associated to. Perhaps something else for the IdeaStation?
One question though - what is it about the press pull versus the extrude that causes the dimesions to dissassociate when extrude (join) operations are done, but not press pull, when the outcome is the same (extending a face)? As it is now, if I need to change the depth of a cavity, I don't dare go back and edit the extrude for fear of losing associativity, but I will gladly add a press pull operation to get the same result, with no impact on the drawing! In my head they are the same operation, but it is obvous they aren't treated the same in many cases otherwise they wouldn't be two seperate tools.
Well, I'm going to stop typing now
Sorry again!