Да, замечания конечно есть))
Во-первых, запомните навсегда, что есть такое понятие как переменная, хранящая ссылку на объект. В данном примере this["image_mc" + i] - это клип. При его создании можно завести временную переменную, которая внутри цикла будет указывать на этот клип. Вот так:

Код:
for (var i=1; i<=6; i++) {
var mc:MovieClip = this.createEmptyMovieClip("image_mc" + i, i);
mc.loadMovie("main_img/"+i+".jpg");
mc._y = 180;
mc._x = 12 + i*107;
mc.onRollOver = clipOver;
}
При этом процессор не должен будет каждый раз разыскивать ваш клип по хитрому адресу, как сейчас, а читабельность кода изрядно улучшится.
Во-вторых, и не так существенно, но можно ведь обойтись и одним циклом.
Например, так:

Код:
var cols:Number = 7 // нужное количество столбцов
var hspace:Number = 10 // горизонтальный просвет между картинками
var vspace:Number = 10 // вертикальный просвет между картинками
var img_width:Number = 180 // ширина картинок
var img_height:Number = 107 // высота картинок
////
for (var i=1; i<=6; i++) {
var mc:MovieClip = this.createEmptyMovieClip("image_mc" + i, i);
mc.loadMovie("main_img/"+i+".jpg");
var horder:Number = (i+cols)%cols;
horder = horder==0 ? cols-1 : horder-1
var vorder:Number = Math.ceil(i/cols)-1;
mc._x = horder*(img_width + hspace);
mc._y = vorder*(img_height + vspace);
mc.onRollOver = clipOver;
}
И забыл сказать, что обработчик кнопочных событий Вы сможете повесить только после загрузки изображения.
Как Вам уже правильно сказали, loadMovie нельзя использовать в таких случаях, когда с загружаемым изображением необходимо чтото сделать, т.е. практически никогда нельзя))))) Используют MovieClipLoader и все его замечательные события, позволяющие отслеживать процесс загрузки и ее окончание.