Automatic Servo with Manual Override (delay problems)

LastTimeButtonWasPressed = StartVoidLoopTime;

You're clinging to hard to Blink Without Delay example here. LastTimeButtonWasPressed shouldn't be set while the button is not pressed (If it was pressed, it would still be in the while loop).

You're problem is still with your understanding of the break statements. Unless you know exactly what you are doing, you should be using an UNCONDITIONAL break at the end of every case statement. Since none of your break conditions are met in case 2 or case 3, as soon as the left button is released, it will fall through all the way to the default section, which sets the casenum to 0.