non te ne do la certezza perchè non ho provato... ma mi sa di no... spiego...

il LoadVars ha uno "scope" per le variabili ricevute che diventa vero solo quando queste variabili sono effettivamente caricate... in quel momento puoi assegnare la variabile ad un return, ma non prima... ciò significa che al tuo richiamo, la variabile assumerà sempre e comunque il valore di default che dovrai dare obbligatoriamente alla fine della funzione, perchè la funzione stessa non farà in tempo a restituire tale valore quando if(success) sarà vero, quindi... in un caso del genere

codice:
var ritorna:Function = function():String {
	var lv:LoadVars = new LoadVars();
	lv.onLoad = function(success:Boolean){
		if(success){
			var r:String = this.r;
			return r;
		} else{
			var r:String = "";
			return r;
		}
	}
	lv.load("file.php");
	var r:String = "";
	return r;
}

var str:String = ritorna();
restituirà sempre una stringa vuota