i might have a clue of what is going on since i managed to bypass the bug at runtime.
the problem i had only happened when i was trying to “manually” update the position of a Child Static Mesh, together with it’s father, in code.
Is you set the WorldLocation of the RootObject, and then in the following line, you set the RelativeLocation of the ChildObject, the Relative Location gets calculated from the position the RootObject was in the previous tick, or anyway, before the previous line.
This means that the Change you just made to the World Location of the root, doesn’t get considered when you set the relative location of its child in the same tick, and so the result is that the root of the object is moved where you want, but the relative location of the previous object become messed up and sometimes goes to the Origin and sometimes remains in the previous tick position.
i think this is also the cause of the bug described here.