Sono finalmente riuscito ad accdedere a Flash (che periodaccio!) e devo dire che la prova di And, che era la più semplice da implementare, non ha sortito esito...
Per quanto riguarda i suggerimenti di Rempox ho qualche domanda: il mio codice nella root è:

premuto = false;
//_root.titoloText.text="";
not_premuto = false;
fscommand ("allowscale", "false");
//filexml = "http://localhost/guzzi/giochi_gonfiabili/giochi_gonfiabili.asp"
filexml = "giochi_gonfiabili/giochi_gonfiabili.asp"

ApriXML();
function ApriXML () {
mioxml = new XML();
myarray = new Array();
mioxml.load(filexml);
mioxml.onLoad = ElaboraXML;
function ElaboraXML (success) {
if (mioxml.loaded) {
myarray = mioxml.childNodes;
Dati();
MenuPag();
CreaTabelle();
delete myarray;
delete mioxml;
}
};
};


function Dati () {
titolo = new Array();
percorso = new Array();
for (k=0; k<=myarray.length; k++) {
if (myarray[k].nodeName == "titolo") {
titolo.push(myarray[k].childNodes.toString());
} else if (myarray[k].nodeName == "percorso") {
percorso.push(myarray[k].childNodes.toString());
} else if (myarray[k].nodeName == "totrec") {
_root.totrec=myarray[k].childNodes.toString();
}
};
};

// Funzione che crea il menù delle pagine con gestione dell'infinito
function MenuPag(){
numero = Math.floor((totrec-0.5)/6+1);
nmaxpag = numero;
for (i=0; i<numero; i++){
barranav.attachMovie("page", "pagine"+i,i+100);
barranav["pagine"+i]._x=10;
barranav["pagine"+i]._y=10+i*30;
k=i+1;
if (k<=9){app="0"+k}else{app=k};
barranav["pagine"+i].pagina=app;
barranav["pagine"+i].PageNumber = k;
if (k<=9){nmaxpag ="0"+ k;} else {nmaxpag=k};
//_root.loading = paginainiziale+"/"+nmaxpag+" - TOT MESSAGGI "+ totrec ;
};
};


// Funzione che Crea i clip e li posiziona sullo stage del filmato
function CreaTabelle () {
for (i=0; i<titolo.length; i++) {
portafoto.duplicateMovieClip("portafoto"+i, i)
//attachMovie("portafoto", "portafoto"+i, i);
// Attribuisco la coordinata X e Y
if(i < 3){
_root["portafoto"+i]._x = 335 + i*(126)
_root["portafoto"+i]._y = 270;
}
else{
_root["portafoto"+i]._x = 335 + (i-3)*126
_root["portafoto"+i]._y = 396;
}
// Passo al clip le variabili che ho preso dall'XML e messo negli Array
//_root["portafoto"+i].titolo = titolo[i];
_root["portafoto"+i].loadMovie(percorso[i]);
_root["portafoto"+i]._xscale = 20;
_root["portafoto"+i]._yscale = 20;
//trace(_root["portafoto"+i]._height);
//trace(_root["portafoto"+i]._width);
_root["portafoto"+i]._rotation = -30;
}
};


// Funzione che rimuove tutti i Clip dalla scena prima di posizionare i clip della nuova pagina
function Rimuovi(){
for (a=0; a<titolo.length; a++){
_root["portafoto"+a].removeMovieClip();
};
};

mentre in corrispondenza del miniclip posto sullo schermo fuori visuale, e istanzaito "portafoto"

on(press){
var old_x, old_y, old_rotation, old_depth;

old_x = this._x;
old_y = this._y
old_depth = this.getDepth()
this.swapDepths(100);
old_rotation = this._rotation;
//old_width = this._width;
//old_height = this._height;
this._rotation = 0;
this._xscale = 100;
this._yscale = 100;
this._x = _root._xmouse - this._width/2;
this._y = _root._ymouse - this._height/2;
this.startDrag();
a = (String(this))
b = a.substr(a.length-1,a.length)
c = Number(b)
_root.titoloText.text = _root.titolo[c];
}
on(release, releaseOutside){
var old_rotation, old_depth;
this._x = old_x;
this._y = old_y;
this._xscale = 20;
this._yscale = 20;
this._rotation = old_rotation;
this.swapDepths(old_depth);
stopDrag();
_root.titoloText.text="";
}

a questo punto sono davvero in panne: continua a funzionare al primo clic e poi ignora il rilascio, sia inside che outside, e anche ulteriori clic...Strano perchè il caricamento delle immagini avviene correttamente...
Davvero non capisco...