compjock, because of how you have the for-loop setup, it will actually loop forever (as is the same in the original post). Every time the movie hits that frame, it sets i back to 1. Also, when the if-statement is satisfied, it will go to the first frame and the loop will be interrupted.

This is modified code for your final frame:

Code:
if (i < 4) {
	gotoAndPlay(2);
	i++;
} 
else {
	stop();
}

trace(i);
And this is code you should place in your first frame:

Code:
var i = 1;
Try it out and let us know what happens. =)