because you're not using time there but the fps which is going to be different for everyone (i.e. delaydoctor + 1 is updating every time the script is run which for faster computers is more often than slower ones)
you don't need both methods, remove the delaydoctor stuff completely and just check the timer.
p.s. it's better to use GetElapsedTime() rather than the GetTimer(e) methods as it will only update when called rather than all the time (so if you pause the game etc GetTimer(e) will continue to increase while GetElapsedTime() will not).