Рискнул использовать фреймы, некоторые проблемы решились вроде обновления.
Но хочу вернуться к первому вопросу. Извините за настойчивость, просто не люблю не решенные проблемы. Я объясню вам как я вижу суть проблемы и вы поймете мою ошибку. Насколько я знаю существует 2 типа выполнения задач: серверная и клиентская. Клиентская: пользователь авторизовался, в БД занесло значение online=1. Пользователь вышел и ВСЁ, выполнение скрипта прервалось и ничего не записалось. Отсюда вывод: чтобы записать в БД online=0 когда пользователя уже нет, необходимо выполнять этот скрипт как серверную задачу, т.е. постоянная проверка. Может чего-то не понимаю? Покритикуйте!