buenas,
lo que sucede es que el evento onload se esta iniciando una y otra vez cada vez que el elemento carga una nueva imagen. una posible solución... en onload invocas una sola vez el setTimeout. en setTimeout invocas una función que es la que cambiará la ruta de la imagen. aparte, debes definir dos variables: un array de rutas y un número que iniciado a cero que funcionará como contador. en la función, aumenta la variable numérica de uno en uno y la utilizas en conjunto con el array para seleccionar la próxima ruta.