К сожалению совсем нет времени, чтобы самому попробовать решить эту задачу
Но общие мысли такие: Как я понял проблема в идентификации конкретного окна Аксапты. Последовательность как я понимаю такая:
1. При загрузке Аксатпа ищет все окна, где в заголовке встречается Navision/Microsoft/Micro$oft

Axapta.
2. Смотрим, есть ли в заголовке этого окна идентификатор сессии (например "ID=")
3. Если есть, то это уже загруженная Аксапта с проставленным идентификатором сессии. Если нет, то это та, только что загруженная Аксапта - изменяем ее заголовок - ставим туда идентификатор сессии.
Таким образом, как мне кажется, все будет работать, за исключением того случая, когда пользователь ОДНОВРЕМЕННО ЗАПУСТИТ, два экземпляра Аксапты. Работать одновременно они могут - ради бога, главное одновременно не запускать. Хотя я не уверен, что у пользователя вообще получится ОДНОВРЕМЕННО ЗАПУСТИТЬ два экземпляра программы.
Цитата:
Если это сделать в startupPost, то изменение быстренько затрется
А можно про это поподробнее. Чтобы это случилось, кто-то должен сказать SetWindowsText. Кто это делает ? Неужели Аксапта переодически устанавливает свой заголовок окна ?