— : be careful with anything timed as less than 100 milliseconds (0.1 seconds). For example, on Windows (XP but still somewhat true on 7), it's impossible for the OS to ensure that something will happened in less than 100 milliseconds, everytime (apart from the refresh GUI loop for the graphic card). It's an "at best" procedure. So, when the OS can't certify that, with C/C++ code, I'm not sure you can enforce that on JS interpreted code, running in a webbrowser...
So remember that when setting timeouts for flashing.