Как то непонятно, зачем удалять если может понадобиться еще раз?
Что мучает то, лишний объект FileReference?
А на счет второго, вроде все просто:
import flash.net.FileReferenceList;
import flash.net.FileReference;
function onSelect(fileRefList:FileReferenceList):Void
{
var fileRef:FileReference;
for(var i in fileRefList.fileList)
{
fileRef = fileRefList.fileList[i];
fileRef.addListener(_root);
fileRef.upload("NonExistentURL");
}
}
function onIOError(file:FileReference):Void
{
trace("onIOError: " + file.name);
}
var fileRef:FileReferenceList = new FileReferenceList();
fileRef.addListener(_root);
fileRef.browse();