'else' behaving as a loop?

You can find my sketch at: http://pastebin.com/JjPJafmD. Anyways, why is my script looping on the else loop? What's really weird is that when I open or close the Serial Monitor, it will reset correctly that one time...

Any help?

You had me going for a bit there but this line:- int delayRate = 1; is wrong, it creates another variable with the name delayRate separate from the global variable of the same name. That line should say:- delayRate = 1;

Thanks, I had started my sketch when I knew little about the Arduino, so I never knew, but now that part is fixed.