I’m just starting out, so my apologies if I say something incorrect, but my understanding is that an actor or component can only be attached to one thing at a time, because it’s not a two-way relationship but instead a strict hierarchy where one wholly dictates unto the other.
In the second example, it looks like things are going about how you want them to right up until t=6 triggers. At that point, the actor does literally and specifically what you told it to and attaches Stone 15 to Stone 11, replacing its previous attachment to Stone 13 in the process and thereby “stealing” it away. It doesn’t know or care about whatever attachment chain Stone 15 might previously have been a part of.
To fix this, you could either pay special attention to your sequencing, or else you could amend the “round” components’ code to check for an attached parent and, if one is found, go “up the chain” until it finds the topmost actor and attach that instead.