Hvis changeImage kaldes fra onLoad fra selve billedet (img tagget), så forstår jeg godt at det giver stack problemer.
Når man ændrer img.src, kaldes onLoad igen for det billede, og du har så nok en situation hvor en funktion der kaldes skaber et ny kald til samme funktion.
Den slags er aldrig rart.