1) return у вас происходит внутри функции-обработчика onData, а не внутри функции POST.
2) Более того, onData ничего не может возвращать (см. ее синтаксис).
3) Получаемое значение становится доступным только внутри onData, в силу асинхронности работы кода.

Код AS1/AS2:
POST();
function POST() {
url = 'test.php';
var sender = new LoadVars();
var loader = new LoadVars();
loader.onData = function(res:String){
testvar = res;
//дальнейшие действия, например вызов нужной функции
someFunction (res);
}
sender.sendAndLoad(url, loader, 'POST');
}
function someFunction (str:String) {
trace (str); //выведет то, что получили как res в onData
}
То есть, "поставить телегу впереди лошади" никак. Все произойдет не раньше, чем загрузятся данные.
Значит использовать testvar=POST(); не получится.