Дело в том, что существуют Value и Reference Types. Когда мы приравниваем один Value Type к другому, то мы создаем копию значения. Например:

Код AS3:
var a:Number = 42;
var b:Number = a;
Теперь у нас в памяти две переменные с одинаковым значением.
Когда мы приравниваем Reference Type, мы не создаем копию объекта, а всего лишь даем ссылку на существующий объект. Например:

Код AS3:
var obj1:Apple = new Apple();
var obj2:Apple = obj1;
var obj3:Apple = obj1;
Хоть мы и создали три переменных, все равно в памяти только один объект Apple, и все на него ссылаются. Поэтому при изменении, например, obj3, obj1 тоже изменится (точнее не obj1, а тот единственный объект Apple).
Array как раз является ссылочным типом.