De acordo com um dos comentários, é provável que a sua melhor aposta seja usar o Process Monitor da Sysinternals para ver o que está sendo testado e falhando devido ao UAC.
Faça o download do Process Monitor no link
Execute o monitor de processos, execute seu aplicativo borked, obsoleto e mal codificado, vá para monitor de processo > filtrar > if Process Name is <borkedapp> then Include
e if Result is Success then Exclude
, que deve dar a você alguns milhares de entradas para procurar o bit que está falhando.
Como alternativa, há uma ferramenta vinculada abaixo (eu não tentei) que irá ajudá-lo a comparar os rastreamentos do monitor de processo, para que você possa executar um rastreio como usuário padrão e outro em execução e compará-los.