ни разу не знаю actionscript'а, но подозреваю, что в итоге получается не массив, а хэш (с целочисленными ключами) (неупорядоченная коллекция), посему и итерируется она как ей вздумается.
меня смущает то что когда смотрю через дебагер то показывает все таки упорядоченный массив.
И второе я не случайно начал отсчет с числа больше 0. Если начать с 0 то перебор массива идет корректно.
Получается с 0 упорядоченный, а с любого другого неупорядоченный хэш.
1) Если массив начинается не с 0, то способ хранения элементов меняется на хэш-мап (аналогично объектам)
Отсюда и разница поведения в for..each, for..in. Используйте Array.forEach.
А луше — считайте все с 0. Ибо тогда и массив будет работать быстрее.
2) С кириллицей — да, косяк такой есть. Используйте коды символов. А лучше — напишите конвертор.
Заметка по for each и for in в ActionScript 3