Давайте разберем этот код подробнее для понимания проблемы.
В первой строке Вы создаете одномерный массив a.
Во второй строке, Вы создаете второе измерение массива a
В третьей строке Вы присваиваете ячеке двумерного массива значение "АGA". Пока все вроде бы корректно.
В четвертой строке, Вы пытаетесь создать уже четвертое измерение минуя 3. Разумеется это невозможно. Поэтому, Вы вынуждены будете ячейку a[0][0] =="AGA" переопределить массивом создающим 3-е измерение. Разумеется "AGA" сохранено не будет.

Код:
var a:Array = [];
a[0] = [];
a[0][0] = 'AGA';
a[0][0] = []
a[0][0][0] = 'UGU';
trace(a[0][0][0]);
//"AGA" больше не существует!!![/quote]
Хорошо в таком случае как мне задействовать каждый уровень?
то есть чтобы значения хранились тут
a[0] = 1
a[1] = 1
и на других уровнях
a[0][0] = 2
a[0][1] = 2
a[0][2] = 2
a[1][0] = 2.1
a[1][1] = 2.2
a[1][2] = 2.1
и т.д.