I have tested Your first case using a simple example here.
And Yes, I can confirm that after any change in the assembly a new Design Body is added to the associative part with part copy.
And the changed part gets the Dseign Body number of the previuos body so that any features now only belong to the cahnged part/body.
This - her in my example - created cut outs somewhere in empty space since there was no body there anymore. Although the new body - but inactive body - just is on the right place.
Solution I found:
Go to the Part Copy feature and do a Boolean Union from any new body to the basic primary body.
Afterwards You again only have the one and same base body to which all features belong!
This of course is an extra step tp do but it solves Your problem until development can fix this or explain the idea behind.
of course this is an old and wellknown beahviour of Parasolid that it doesn't allow a single body volume with a singularity
And this IMHO makes sense too.
Imagine a single piece of material where the volume is sized down to a single point.
What would hapen with such a part?
Yes, it will break exactly there!
So to avoid this situation You either can prevent Your parts in the assembly to have a point/point or point/line connection - ergo the build a singularity in volume, which later on will not allow to have this copied into a single body.
Or if You insist on that, then to it first before copy them into a part.
Then You might have several bodies right from the beginning so that every later feature will exactly know to whom it belongs.
Or, and this is my more interesting question, why do You not use Assembly Featues instead.
This will beware You of making part copies and it also gives YOu the option to have those non-manifold bodies there.
Sometimes You have to use the streets, the software and the environment offers to You!
And sometimes they will not allow Oyu to cross these limits.
so then as menitoned:
Avoid non-manifold situations and theer will be no further problems.
But BTW how to You procede after creating features in the Part Copy?
You will changed geometry, but how do You bring that information back into assembly?
there is one other idea I have:
"Put the cart before the horse from behind!"
Use the "multibody" functionallity even more!
Create a single part file with Your part/psm bodies in it.
Here You can create Your features as You want, even they are valid for several bodies.
And You can export them into an assembly automatically and associative.
Think about that!