Perhaps I'm just being superstitious here but I'm convinced that one of the longer standing causes for instability and general flakiness is that certain data structures are actually deleted rather than being flagged deleted.
One case where I think I'm running into that is the following:
1) Create new design using timeline
2) create component
3) create bodies extrenal to component
4) combine / join bodies to component preserving the originals
5) try to delete originals
This should «just work» but instead when I do it, I get a warning

and then if I go ahead, it breaks the dependenc(ies)

This should never happen.
If someone deletes or changes something in the present, it should never break things in the past. That's not how causality works and it shouldn't be how the dependency graph works.
Instead, it should have a new [delete] operation added to the present on top of the existing body that hides it and effectively removes it from the current assembly without breaking anything.