A temporary fix for this is to make a copy of the array when setting tPos2.
Example: tPos = [0,0,0]; tPos2 = +tPos; tPos resize 2;
In the above example tPos is [0,0] and tPos2 is [0,0,0] which is what I expected from the examples above.
This behavior also happens with any engine commands that modify an array by reference.