Я бы сделал так. В цикле добавил бы:

Код AS3:
button.addEventListener(MouseEvent.CLICK,onCLICK);
Потом бы убрал слушатель событий, который идёт после цикла. И всё.
А так всё логично: ты присваиваешь событие только последней кнопке, так как каждый раз, когда работает цикл, создаются уникальные "кнопки" и после окончания цикла они как бы перестают существовать, если к ним нету обращения (поэтому 4 кнопки без слушателя событий). Потом цикл перестаёт работать и новой кнопке (5) доступен выход за пределы цикла, дальше идёт присваивание слушателя событий, поэтому и у пятой кнопки "слушатель" работает. То есть, четыре предыдущих кнопки просто не вышли за пределы за цикла.
Если непонятно, то попробуй создать пять циклов, в каждом будет создавать по одной кнопке и после каждого цикла будет присваиваться событие.