Com a ajuda do LPChip, iniciei a depuração do messagebox e confirmei que o script estava sendo lançado, mas com erro. Eu atualizei o launch.vbs para
CreateObject("Wscript.Shell").Run "cmd /k " & chr(34) & "C:\MyCompany\Program\run.cmd " & chr(34), 1, True
(observe o / k para manter a janela ativa e 1 para mostrar). A partir daí, ficou claro que o java não está definido no caminho de classe para scripts iniciados via CurrentVersion \ Run. Codificando o caminho para java (que nossos clientes serão forçados a usar de qualquer maneira) em run.cmd resolveu o problema.