Потому что ваш цикл (полагаю, что "}" потерялась перед объявлением первой функции) обрабатывается до того как происходит событие COMPLETE. И когда выполняется onLoaderComplete то цикл уже завершен. Следовательно будет сохранено первое изображение с именем imgList[1].name, а потом оно будет перезаписано вторым изображение с тем же именем.
Добавлено через 9 минут

Код AS3:
var nameQuant:int;
for (var i:int = 0; i < imgList.length; i++)
{
var image:ByteArray = imgList[i].img;
var loadIm:Loader;
loadIm = new Loader();
loadIm.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoaderComplete);
loadIm.loadBytes(image);
}
function onLoaderComplete(event:Event):void
{
var newImg:BitmapData = new BitmapData(200, 200);
var img:ByteArray;
var vas:Bitmap = loadIm.content as Bitmap;
newImg.draw(vas);
img = new JPEGEncoder(90).encode(newImg);
nameQuant++;
upl(img, "image_"+nameQuant);
}
function upl(imag:ByteArray, imgName:String):void
{
var loader:MultipartURLLoader = new MultipartURLLoader;
loader.addVariable('imgName', imgName);
loader.addFile(imag, imgName, 'imgData', 'image/jpeg');
loader.load('http://upload.ro/up/bin-debug/upload.php');
loader.addEventListener(Event.COMPLETE, onCompletes);
}