Come mai dichiari la funzione come api_SuonaBrano e poi la usi come sndPlaySound e perché usi un nome di variabile così strano ( §str ) ?
In ogni caso, ho provato con la MsgBox e se viene proposto un "beep" dalla MsgBox questo annulla il suono precedente. Per vedere la differenza di funzionamento al posto della MsgBox usa una
InputBox("")