Не всегда

Код AS3:
arr.length
выдает правильно количество элементов в массиве. В частности когда происходят операции присвоении или удалении элементов массива через индекс ( то-есть не используя команды push, pop, shift и т.д.) Потому этот вариант думаю решит ваш вопрос

Код AS3:
function myLength(arr:Array):uint {
var leng:uint = 0;
for ( var i:String in arr ) leng++;
return leng;
}
trace( myLength(myarr) );