(Esiste un forum apposito per il VB6, come hai già visto ... e dovresti usare i tag CODE per far capire meglio il codice ...)

Se usi la riproduzione asincrona, la sndPlaySound non attende che il suono sia finito e permette al programma di continare. Ma essendo l'ultima istruzione, l'eseguibile viene chiuso e con questo il processo e il suono.

Nell'IDE il programma termina ma il processo relativo all'IDE è ancora attivo e permette che il thread per l'esecuzione asincrona sia attivo.

Se non usi la versione asincrona, allora la sndPlaySound non può far terminare il programma se non ha eseguito il suono.