Возможно у вас проблемы с областями видимости - в какую именно переменную вы записываете ссылку на функцию-параметр - в локальную по отношению к основной функции или нет?
Вот так все работает:

Код AS1/AS2:
var someFunc:Function ;
test(1, func1);
trace(someFunc); //будет определена
function test(n:Number, doAfter:Function)
{
if (n == 1 || n == 2)
{
someFunc = doAfter;
}
else
{
trace('Стоп');
}
}
function func1(n:Number)
{
trace('Выполняется первая функция, n = ' + n)
}