Hola Javi:
Me parece que tampoco sería buena idea, ya que el bucle se hace inmediatamente, entonces el retraso inicial es el unico que se notaría...
Otra forma de usar el bucle es darle valores al retraso de esta manera:
for (i = 0; i < 10; i ++)
setTimeout("tiempo()", 1000 * i);
También se podría introducir el valor de i en la llamada como puse antes.
Saludos