O comportamento do NSSM é causado pelo script terminar quase instantaneamente. Experimente o seguinte script:
echo Hello World
pause
Isso deve permitir que o serviço seja iniciado, mas você não verá necessariamente uma janela do console. Mesmo que você marque 'permitir que o serviço interaja com a área de trabalho', não será a sua área de trabalho com a qual ele interage!
Usando o SysInternals Process Explorer, você poderá ver o serviço NSSM sendo executado com um processo filho CMD que está executando o script.
O Windows implementa o 'isolamento zero da sessão' como um recurso de segurança, e isso essencialmente impede que os serviços interajam com os desktops do usuário final.
Em termos de uma solução, é possível escrever aplicações de 'serviço' do Windows de forma bastante simples usando o Visual Studio. Está fora da minha área de especialização, mas com base nos aplicativos do Windows que eu conheço, você geralmente teria um aplicativo em modo de usuário em execução para fornecer interação com a área de trabalho. O aplicativo de modo de usuário pode interagir com serviços hospedados pelo aplicativo de serviço.