Можно обойтись и простой проверкой:
Две куки, одна для ID пользователя другая для сесии..
Проверять это добро можно вот так: ( это просто пример )
function session()
{
@$i = $_COOKIE['account'];
@$h = $_COOKIE['hash'];
if (!empty($i) && int_($i) && !empty($h) && $h === hash('sha1', $i . SLAT, false))
return (int)$i;
}
А настройки или другие параметры хранить в базе данных, так кстати и надежнее, сервер все равно когда нибудь перезагрузиться и сессии удаляться, а из базы нет...
Примерно так построены многие системы...