Сохраните получаемые sql запросы в файл и поймете - fgetcsv глючит или база. А дальше плясать от этого.
Кодировки обеих страниц совпадают?
Ну и если задаавться вопросами производительности, то лучше вешать таким образом событие на элемент максимально близкий в DOM к тем, где будут возникать нужные вам события (т.е. на форму, куда вы эти инпуты добавляете, например), чтобы не захватить лишние.
В средствах веб-разработчика еще можно ставить брейкпойнты на изменение дочерних узлов элемента (в хроме - правой кнопкой по элементу и там break on... -> subtree modifications) или на ajax-запросы (https://toster.ru/q/212307#answer_573056).
Какой заголовок вы хотите отправлять переб парсингом? Думаю не поможет.
Можно на эмуляторе браузера/браузере - selenium, phantomjs
Ну или разбираться как тот контент подгружается.
Галочка, я так понимаю, сохраняется для юзера в БД.
При заходе юзера определять, стоит ли эта настройка? Если настройка есть и юзер зашел на мобильную версию - то ставите куку и редиректите на полную.
А файл-то у вас есть, на который сайт ругается?
Лично не проверял, но интернет говорит, что событие focus у window
$(window).focus(function() {});
Ну или еще без jquery http://stackoverflow.com/questions/6966733/detect-tab-window-activation-in-javascript
Вот у вас в переменной timer - айдишник таймера хранится.
При заходе на страницу делайте clearInterval(timer); - это его выключит.