I've noticed this rather annoying behaviour with parenting and de-parenting of objects. For example:
Object A is located at coordinates 0, 0, 0. Object B is located at coordinates 0, 0, 1.
If object A becomes the parent to object B, nothing happens as far as location is concerned. However, if A is moved to, say, 5, 0, 0, then B will obviously move with A. Now, if I decide that A should no longer be a parent to B and separate the two, B will return to the original location before parenting, which would be 0, 0, 1 in my example.
I assume there is a reason for this function. However, it becomes extremely annoying if I have linked and made proxies to parented objects, because as far as I'm aware, I need to make each individually linked object a proxy, and therefore the parenting data is broken and must be made again. At that point however, the new coordinates of unparented objects are made, and therefore the objects cannot return to their intended locations, which wastes time in relocating everything once more. I assume this issue also happens for other transformations such as rotations and scales.
Is there a way to work around this, without requiring the foresight to perform parenting only once all relative locations have been finalised?