Hello Charles, i wrote this when i was working in the dr mario code, i dont recall mucho but i hope it helps
fixing something?...
MACRO PlaySFX(n)
    ' Works fine on both (need bycopy, because of byref ASCIIZ).
    SndPlaySound(BYCOPY "sfx" & FORMAT$(n), %SND_RESOURCE OR %SND_ASYNC)
    ' NOTE: This plays in PowerBASIC, no sound in Oxygen.
    'SndPlaySound(("sfx" & format$(n)), %SND_RESOURCE Or %SND_ASYNC)
    ' NOTE: This compiles in PowerBASIC, doesnt compile in Oxygen.
    'SndPlaySound(bycopy ("sfx" & format$(n)), %SND_RESOURCE Or %SND_ASYNC)
END MACRO
 The above code is before converting to Oxygen, but it is kind of the same i think.