PLEASE PLEASE PLEASE HELP!!! SERVO PROBLEMS!!!

delay(n) delays n milliseconds. Maybe you're using the wrong function and your units are off?
-j

kg4wsv is right, the pulse width should be in microseconds in your code. But the delay(20) after the pulse is correct, that should remain at 20 milliseconds.

pulses = pulses + 15;
digitalWrite(servoPin, HIGH);
delayMicroseconds(pulses); // this needs to be in microseconds
digitalWrite(servoPin, LOW);
delay(20); // this delay of 20 milliseconds is correct