По поводу вопроса №1:
Как вариант, посмотрите форму SysLabelSearch. Обратите внимание на метод Object::setTimeOut().
По поводу вопроса №2:
Если Вы ставите вопрос так, тогда при условии, что у вас все клиенты работают в 3хуровенвой конфигурации, то все сессии, у которых clientKind() NotAOS, работают на других AOS'ах (не на вашем).

А вообще, на сколько я помню, метод AOSName() у xSession вполне спасал (SP3).
По поводу вопроса №3:
А что Вы понимаете под доступностью AOS'а?
Пример 1: Работают 2 AOS'а, но ярлыки пользователей настроены так, что одна часть заходит только на первый AOS, а другая - на второй. Вопрос - считать ли второй AOS доступным для первой группы, если единственное, что мешает им воспользоваться - ярлык?
Пример 2: Работают 2 AOS'а для двух разных приложений. С клиентского компьютера доступен как первый, так и второй. Доступен ли второй AOS с точки зрения клиента, работающего с первым AOS'ом? Ведь они работают с разными приложениями.