Все верно, после выполнения цикла значение counter будет равно четырем. Именно эту переменную вы трейсите. Нужно делать так:

Код:
for (counter = 1; counter <= 3; counter++) {
currentImgBut = "imgBut" + counter;
var mc = _root.imageNum.attachMovie("imgBut", currentImgBut, _root.imageNum.getNextHighestDepth());
mc.imgNumText.text = counter;
mc._x = _root.imageNum[currentImgBut]._width * counter;
mc.id = i;
mc.onRelease = function () {
trace (this.id);
}
}