Вот уж никак не думал, что вопрос в который я уперся вчера, сегодня поднимется на форуме.
По сути понятно, а вот как избавится от этого?
А у меня это всё идет ещё и глубже. Приведу свой пример:
Есть некий клип-редактор.
Есть главный массив в котором куча элементов.
Этот главный массив, сохраняется в шареде.
То есть типа так:

Код AS1/AS2:
save.data.mainData=mainArray
Для редактирования, берем элемент из главного массива, например
mainArray[1] и
делаем так:

Код AS1/AS2:
editorMC.array0=mainArray[1][0]
editorMC.array1=mainArray[1][1]
editorMC.array2=mainArray[1][2]
Затем, используя значения из массивов
editorMC.array0...editorMC.array(X)
выполняем в клипе редакторе некие действия.
А дальше начинается проблема:
Мы что то изменяем в редакторе, и затем, мы хотим либо сохранить изменения, либо нет. Так вот не проходит такая фишка, ибо (в дебаггере замечательно видно), как только мы изменяем что то в этих дочерних массивах
editorMC.array0...editorMC.array(X), то изменения сразу происходят не только в главном массиве, а и даже и в save.data.mainData.
Пробовал сделать так:
Сохранять данные из редактируемого элемента (перед редактированием), во временном массиве, и если не нужны изменения, восстанавливать данные из него.
Прикол в том, что в нем данные точно так же изменяются, синхронно с остальными

Как это победить?
Добавлено через 1 минуту
Упс, пока писал ответ уже есть

Спасибо попробую. Я тоже подумал, что нужно использовать не простое приравнивание, а что то из других методов.