A resposta curta é não, não existe.
Se você não quiser fazer isso de forma programática, sugiro que o programa execute "Na inicialização" e "Na desconexão da sessão do usuário". Em seguida, tenha uma segunda tarefa que executa "Na conexão com a sessão do usuário" que executará um script em lote para localizar seu processo e eliminá-lo se ele estiver em execução. Infelizmente, não há como fazer isso com programação zero (ou seja, gravar o arquivo em lote).
Lembre-se de que uma sessão desconectada é diferente do usuário que não está conectado.