I am no longer at my computer but when I get home I will create a sample real quick.But basicaly, all you have to do to reproduce the problem is this:
Create board and add 2 Chess Sprites to it.
Pin Chess1 to Chess2.
Use GridMove to move Chess2.
Both Chess will move correctly, but only Chess2 will update its LogicX and LogicY, making Chess1's logic position inaccurate anytime Chess2 moves, also rendering most of its Chess Events/Actions that are based on its LX and LY.
You can probably figure out a better solution then I could, but I'll just throw these out there just incase, even if they seem like common sense.
You can adapt the Board to detect a chess that is Pinned and update its LX and LY anytime its ParentUID changes. Or you can also add an action to update the Chess Logic position based on Physical position. Or add "Set LX/LY" actions in addition to "Move to LX/LY"