A solução mais simples seria escrever um serviço que verificasse periodicamente se o processo do software de acoplamento ainda estava sendo executado e se não foi iniciado novamente.
Fazê-lo como serviço significaria que seria menos provável que o usuário parasse com isso.