Да, вы правы, нужно навести порядок в этом деле.
Дату последнего визита, конечно, нужно записывать сразу после успешной авторизации.
Когда-то, это делалось из экономии, и перекочевало в новую версию.
Надо подумать.
Либо, заводить отдельную таблицу, куда записывать минимум две последние, успешные сессии.
Либо, сэкономить (опять) и добавить поле в основную таблицу пользователя, куда записывать дату предыдущего визита.
Второй вопрос, связанный с удобством авторизации.
На клиенте оставить как есть (cookies с ограниченным сроком хранения), плюс добавить чекбокс "Запомнить меня". С автоматической авторизацией после возвращения.
В расчете на то, что пользователь "умный", и сам знает, что делает, и когда, и какие cookies чистить.