Событие нового дня?
setTimeout дает гарантию, что коллбек выполнится не раньше, чем через указанное число милисекунд. 
Коллбеки истекших таймаутов вызываются в начале цикла событий. Т.е. не могут быть вызваны прежде чем текущй цикл закончится.
Особо хитрые браузеры вообще умеют замораживать таймауты в неактивных вкладках.
Т.е. ну ты понел, на setTimeout надейся, а секунды все равно проверяй.
Повлияют. Как и любые зависания. 
Не знаю вашей задачи, но думаю лучше будет запускать задачу каждую минуту (или сикунду, зависит от той точности что вам нужна) и сравнивать день на прошлой и на текущей итерации