Что-то тут явно перемудрено... и куки и сессии...
куки снова записываются для всех страниц
У вас там для каждой страницы свои куки генерятся?
//...
session_destroy();
Setcookie("user_id",$_SESSION['user_id'],time()-3600000);
//...
Как это может работать?
Если бы sec_session_start() не была кастомной функцией, я бы поменял местами первые две строки кода, т.к. если отключен контроль ошибок...
Вместо Setcookie, может лучше как рекомендуют $_COOKIE?
Я бы хранил в куках только идентификатор пользователя, а все параметры - на сервере.
Ну и разделил бы данные в сессии на "разделы" типа, который нужно/можно чистить, и который должен "оставаться статичным", чтобы потом не было session_destroy и т.п. "контрольных выстрелов".