Есть простое решение проблемы.
Ставишь основной статус — онлайн.
Видимость делаешь только для списка видимых. (т.е. для тех, кто тебя видит, когда ты в инвизе)
Вот и всё. В клиенте выставляешь опцию соотвествующую, чтобы ставился Away после N-минут Idle.
Немного о мессенджерах