I note that you're still using floats and increments of 0.5. I guess I'm wasting my time here.
One more try...since you have all those time-wasting Serial prints in there please post the results that you see when the servo is responding correctly and then when it is not doing what you want.
Steve