NO se puede cambiar un settimeout en curso, sólo se puede eliminar y crear otro.
id = setTimeout(function(){},1000);
id devuelve un número porque
Cita: id.constructor = function Number() { [native code] }
para eliminar el setTimeout, se usa clearTimeout, cuyo argumento es el id
clearTimeout no devuelve nada
Un saludo.