session_start отправляет кукисы, кукисы летят в заголовках, заголовки должны лететь раньше, чем содержимое страницы. Ты изменяешь заголовки после того, как вывел на страницу содержимое.
Грубо говоря, ты сам вырыл себе яму : уж слишком ты много вешаешь на объекты класса user. Сам подумай, что такое user? Это логин, пароль ( возможно ) и остальные данные касающиеся его личности ( icq, skype ), но никак не сессии, не запросы к БД. Я признаюсь, что сам не силен в ООП, но для меня это кажется уже очевидным, что тебе нужно сделать здесь что-то вроде механизма, который будет штопать этих юзеров, грубо говоря делать объекты. Почитай про паттерн "фабрика". Будет полезно