i dati non vengono caricati subito quindi richiamando la funzione shuffle in anticipo ti ritrovi un array vuoto, senza valori.
usa invece la classe loadVars in questo modo

Metti questo sulla root:

codice:
Array.prototype.shuffle=function(){
	for(i=0;i<this.length;i++){
		var tmp=this[i];
		var randomNum=random(this.length);
		this[i]=this[randomNum];
		this[randomNum]=tmp;
	}
}
dati = new LoadVars();
dati.path = this;
testi.aforismi = new Array();
dati.onLoad = function(){
	for(i=1;i<=Number(this.totale);i++){
		this.path.testi.aforismi.push(this["aforisma"+i]);
	}
	this.path.testi.aforismi.shuffle();
	this.path.testi.totale = this.totale;
	trace(this.path.testi.aforismi);
	this.path.testi.play();
}
dati.load("random_aforismi.asp");
stop();
nel movieClip testi, al primo frame metti questo:

codice:
numero=0;
stop();
sul secondo frame invece questo:


codice:
if (numero == totale) {
	numero = 1;
} else {
	numero++;
}
frase = aforismi[numero];