Hola a todos:
Hay muchas formas para que una llamada setTimeout funcione solo una vez...
Por ejemplo declarar una variable con valor inicial 0 y al chequear incrementarla...
con el ejemplo de tunait:
var veces = 0;
// y dentro del script...
if (veces ++ == 0) setTimeout(...);
Saludos