If you want the robot to move backwards, instead of using a while loop, replace with something like...
Code:
drive.arcadeDrive(-.5 , 0);
Timer.delay(/*insert time you want to go backwards in milliseconds*/);
drive.arcadeDrive(0 , 0);
To answer why your robot may not be moving backwards, the loop might be cycling too fast for you to actually notice, so 5 cycles would be instant. Remember to put the drive.arcadeDrive(0 , 0) or else your robot will keep driving backwards. Good luck out there!