While dredging through old bug reports today I had a look at this thread. I couldn't see a problem with the loop/resume sound commands.
Here's the code I used (works for me on both XP and Vista). Just toggle looping sound/no sound by pressing the "p" key.
set display mode desktop width(), desktop height(), 32
sync on : sync rate 60 : sync
load sound "c:\windows\media\tada.wav",1
loop sound 1
keyNow = 0
paused = 0
playing = 1
do
key$ = inkey$()
if key$ = "p" ` toggle pause sound
if keyNow = 0 ` wait for last "p" key press to clear first
paused = 1 - paused
keyNow = 1
endif
else
keyNow = 0
endif
if paused
pause sound 1
playing = 0
else
if playing = 0 then resume sound 1 ` this stops DBPro trying to resume the sound when it is already playing
playing = 1
endif
cls
print "paused = ",paused
print "playing = ",playing
print "keyNow = ",keyNow
sync
loop