Может в итоге и не setInterval стоит применять, но суть в том, что кажется, это самый разумный и быстрый путь, чтобы функция исполнялась, спустя какое-то время после события.
Итак, имеем такую вот конструкцию:
при некоем триггере происходит эта строчка:

Код AS1/AS2:
intID = setInterval(myFunction, 10000);
далее:
function myFunction(){
clearInterval(intID);
function code here...
}
и всё отлично, пока в момент этого интервала(10 сек), триггер не сработает ещё раз.
Как только это происходит - всё, код функции начинает страбатывать каждые 10 сек, независимо не от чего
Я так понимаю, происходит какое-то дублирование intID - но почему, и как с этим бороться ?