Hola tunait

(¡Que raro verte haciendo preguntas!)
No sé si te servirá el truco que yo suelo hacer para estas cosas recursivas, pero te lo comento y me dices si te vale ¡vale!...
Supongo que esas llamadas recursivas las haces con:
setTimeout("funciónRecursiva()", retraso);
Pues yo suelo pasarle los parámetros necesarios en la recursividad como el id del elemento (si es un tag) y alguna variable con el estado (en casos de porcentajes por ejemplo)
setTimeout("funciónRecursiva('" + var1 + "', '" * + var2 + "')", retraso);
Un ejemplo práctico lo puedes ver en los botones de esta página:
http://www.pepemolina.com/editor/index.html
El script lo tenía medio hecho, y lo terminé en este mensaje:
http://www.forosdelweb.com/f13/fadeout-talbla-159137/
Si esas llamadas recursivas no llevan retrasos también le puedes pasar parámetros, aunque en el caso anterior es conveniente que los parámetros sean cadenas o números (evitar cualquier tipo de objetos)
Saludos