Ну допустим приходит пользователю сообщение из серверной процедуры, а прога продолжает "висеть" на сервере. Пользователю что от этого сообщения? Зааплодировать? Или в обморок упасть? Все равно как-то активно отреагировать на это сообщение (в смысле работать с программой, а не пернуть от удивления) он сможет только когда управление перейдет на клиента.
Фоновое задание, из него к примерю запись состояния в константу к примеру, а на клиенте обработчик ожидания с проверкой этой константы (или там вообще через константы подавать команды фоновому заданию во время его исполнения )