¡Ahora funciona perfectamente!
Muchas gracias por la respuesta Aijoona.
Lo que no acabo de entender es cuando comentas
Cita: ...donde recibe FUNCTION vos le estás pasando el resultado de changeImagen y no la función en sí
¿Qué diferencia hay entra la llamada que hacía yo (donde efectivamente, se pasaba el resultado) a la llamada desde una función anónima?
Según he leido en Internet, la llamada a una función desde setTimeout debe hacerse como comentas, pero no acabo de ver el motivo..
De todas formas, muchas gracias por tu atención!