1) Есть цикл работающий

Код AS1/AS2:
var arr:Array = ["арбуз", "дыня", "тыква", "помидор"];
for (var i=arr.length-1; i>=0; i--) {
trace(arr[i]);
trace(i);
}
Если заменить i>=0 на просто i=0, то скрипт не работает.
2) Правда ли, что надо опасаться циклов for in,
так как они могут давать непредсказуемые результаты после Reversa массива и др. случаях?