Hola:
setTimeout solo se ejecuta una vez, y hay que hacer una llamada recursiva para que se siga ejecutando, así que con no velver a hacer la llamada puede ser suficiente, pero también existe clearTimeout... y como parámetro la variable a la que se asigna el setTimeout...
var repe = setTimeout("miFuncion()", retardo);
...
clearTimeout(repe);
Saludos