Вы должны создать наследуемый дубликат дескриптора родительского процесса и передать его значение вспомогательному процессу в командной строке. Затем вспомогательный процесс может ожидать этого дескриптора в отдельном потоке (или основном потоке, если вы сообразительны). Когда дескриптор становится сигнальным, это означает, что процесс запуска завершен.
Редактировать
Поскольку вы не можете изменить вспомогательный процесс, ваши возможности более ограничены. Вы можете попробовать подключить обработчик к событию OnAppDomainUnloaded процесса запуска, но я не уверен, что это будет работать во всех случаях, которые вас беспокоят. Вы также можете создать третий процесс для мониторинга первого. Этот процесс будет работать, как я описал выше. Если вы хотите стать действительно модным, вы можете внедрить удаленный поток в вспомогательный процесс для мониторинга родителя. Это очень технически, поэтому я рекомендую против этого.