Я согласен с bhups - попробуйте проверить область действия intervalID. В целях тестирования используйте абсолютную ссылку на intervalID и посмотрите, получаете ли вы такое же поведение.
btn.onRelease = function()
{
clearInterval(root.<<path to proper level>>.intervalID);
gotoAndPlay("nextFrame");
}
Если вы используете AS 3, вы также можете попробовать переключиться на класс Timer.
var timer:Timer = new Timer(3000);
timer.addEventListener(TimerEvent.TIMER, intervalFunction);
timer.start();
btn.addEventListener(MouseEvent.CLICK, btnClick);
function btnClick(evt:MouseEvent):void
{
timer.stop();
timer.removeEventListener(TimerEvent.TIMER, intervalFunction);
gotoAndPlay("nextFrame");
}
(ни один из них не проверен)