На первый взгляд - какие-то (или один) php скрипты запускаются со своим маленьким значением gc_maxlifetime. И чем больше людей тем чаще запускается этот скрипт и стираются файлы сессий, которые он считает устаревшими.
Нужно каким-то образом проверить это предположение.
1. Установить для сайта другую директорию для хранения сессий. Посмотреть - осталась ли проблема. Если она ушла - значит есть какие-то еще php скрипты, которые удаляют файлы сессий.
2. Сначала глазами проверить нет ли переопределения gc_maxlifetime перед session_start() во всех скриптах сайта. Если ничего не найдется - можно вынести работу с сессиями в отдельный класс и поставить там временно логирование куда-то настроек сессии при работе с ней. Возможно - найдутся виновные скрипты, которые являются частью сайта.
И, на всякий случай, укажите, какие значения у следующих настроек во время выполнения?
var_dump(ini_get('session.cookie_lifetime'));
var_dump(ini_get('session.gc_maxlifetime'));
var_dump(ini_get('session.gc_divisor'));
var_dump(ini_get('session.gc_probability'));