Не очень разбираюсь в теме, но по аналогии с php могу сказать:
Если ожидание страницы больше таймаута в браузере, и браузер не получает никаких данных - соединение прерывается. На php решал вопрос выводом "пустоты" ( echo ''; ) и очисткой буфера. Браузер получал это "ничего" и ждал завершения работы. Может быть у вас похожая ситуация. Как поступить в случае с ajax\node.js к сожалению идей нет.
А еще подумал: может сериализация данных из mysql в сумме с запросом превышает таймаут.