Stò uscendo pazzo!

Osservate questo codice:

codice:
function caricafoto():Void {
		//if (aaa<>0) {
		number=_parent._name.substr(7, _parent._name.lenght());
		trace ("passa "+ _parent.nome + getTimer() +" ms.")
		_root.barranav["piccola"+number].apri.number=number;
		
		
		//}
		
		car1 = _root.barranav["piccola"+number].demo.getBytesLoaded();
		tot1 = _root.barranav["piccola"+number].demo.getBytesTotal();
		if (Math.round((car1*100)/(tot1+0.1))<>100) {
			_root.barranav["piccola"+number].numperc = Math.round((car1*100)/(tot1+0.1));
			_root.barranav["piccola"+number].progres1 = Math.round((car1*100)/(tot1+0.1)) + " %";
			if (Math.round((tot1 - car1)/1000)<>0) {
				_root.barranav["piccola"+number].bytemanc1 = Math.round((tot1 - car1)/1000) + " KB mancanti"
			} else {
				_root.barranav["piccola"+number].bytemanc1="";		
			}
		} else { 
			_root.barranav["piccola"+number].progres1=""
			_root.barranav["piccola"+number].bytemanc1=""
			_root.barranav["piccola"+number].numperc="";
		};
		//bytetot1 = Math.round(tot1/1000) + " KB totali";
		
		perc=Math.round((car1*100)/(tot1+0.1))
		if (_root.barranav["piccola"+number].demo._height<>70) {
			altorg=_root.barranav["piccola"+number].demo._height;
			largorg=_root.barranav["piccola"+number].demo._width;
			_root.barranav["piccola"+number].apri.rappaltlarg=altorg/largorg;
		}
		if (_root.barranav["piccola"+number].demo._height>200) {
			_root.barranav["piccola"+number].demo._height=70;
			_root.barranav["piccola"+number].demo._width=70;
		}
		if (_root.barranav["piccola"+number].demo._width>50) {
			_root.barranav["piccola"+number].demo._width=70;
			_root.barranav["piccola"+number].demo._height=70;
		}
		
			

		_root.barranav["piccola"+number].bordodemo._width=_root.barranav["piccola"+number].demo._width+4;
		_root.barranav["piccola"+number].bordodemo._height=_root.barranav["piccola"+number].demo._height+4;
		//perc=100
		if (perc == 100) {
				trace ("ist")
				clearInterval(apic);
				_parent.demo_photo ()
				_parent.apri._visible=1
				if (_root.download=="si") {_parent.download1._visible=1}										
		}
}

apic = setInterval (caricafoto , 1000);
Non serve capirlo tutto, vi dico solo che pur ottenendo il trace "ist" non si ferma l'intervallo apic mentre se copio questo codice nella root di un filmato vuoto (ed imposto perc=100 prima della if in fondo) l'intervallo apic si blocca!

Ma perchè!!!!!?!?!

Grazie di qualsiasi aiuto
Mir