никто никого никуда не преобразует!

Код:
[Bindable]
public var myData:Array;
никак не преобразует этот массив в ArrayCollection, это действие просто говорит, что нужно генерить событие если мы изменили myData (именно поменяли сам myData на другой массив, а не изменили соедржимое myData)

Код:
myData = [1,2,3,4];
.....
myData.push(5) //биндингу пофиг
myData = [1,2,3,4,5]; //тут биндинг отработал, т.к. занчение изменилось
теперь далее, когда мы устанавливает в кому-то датапровайдер в виде массива, то внутри идет преобразование этого массива в ArrayCollection, но есть одно но

Код:
myData = [1,2,3,4];
.....
list.dataProvider = myData;
myData.push(5) // тут твоему листу пофигу ибо он незнает что что-то произашло (см. код выше почему).
если сделать

Код:
list.dataProvider = myData;
ArrayCollection(list.dataProvider).addItem(5);
то у нас лист обновится.
Вобщем я клоню к тому что юзайте детки всегда ArrayCollection вместо Array с таких случаях и будет вам счастье!.