e che ho fatto qui sopra?

fare:
loadMovie('file.swf?newId='+id,0);
o come dici tu:
nuova = id;
loadMovie('file.swf?newId='+nuova,0);

...che cambia?

secondo me il problema è che nel momento del loadMovie() tutto quello che sta in _root, cioè nel livello 0 viene distrutto e quindi le varibili non esistono +...

dovrò utilizzare un target al posto del livello... non vedo altre soluzioni