I played with the code and tried a few things.
Your built-in slow down mechanism is very usefull for testing - thanks for sharing
Looks like your code works as a really good count down timer regardless of the resulting FPS.
I wasn't aware of the big difference between "wallclocktime" and "time" for setting the variable gvStartTime.
If "time" is used instead of "wallclocktime" the count down time differs badly from the real world time.
After reading several posts regarding time/timer topics I still don't no how to use "timescale" in a usefull way.
Can you give me an example or explanation?