mackrackit, idea why moving the delay loop 'made a difference' to my mind it should have worked where you put it too.
I am really missing something or there is something else in your code...
I do not see why you had to move the delay. Your way the delay should be jumped over when a button is pressed...