Обарываю твой код:

Код:
function func1() {
trace("первая функция")
}
function func2() {
trace("вторая функция")
}
var arrFunc:Array = new Array("func1", "func2");
var a:Function = new Function;
trace(a instanceof Function);
arrFunc[0]=a; // <- и че с чего ты решил что а у тебя функция? вернее она то функция но нужно выяснить какая
trace(a instanceof Function); // <- таже байда, ты сдесь а не менял
var AbrFunc = arrFunc[0]; // ну и что? поменял ты этот arrFunc[0] присвоил ей не понятную функцию и что дальше?...
AbrFunc();//... оно у тя никогда ниче не протрейсит
2 варианта когда оно будет работать:

Код:
function func1() {
trace("первая функция")
}
function func2() {
trace("вторая функция")
}
var arrFunc:Array = new Array(func1, func2); // убрали кавычки
arrFunc[0]();
ili

Код:
function func1() {
trace("первая функция")
}
function func2() {
trace("вторая функция")
}
var arrFunc:Array = new Array("func1", "func2"); // кавычки оставили
this[arrFunc[0]](); //но поменяли способ вызова