I don't think so. I think this ought to be classed as a bug. It seems daft to me that sounds and music should be treated differently.
The following snippet illustrates what appear to be two slightly different problems:
The first snippet only plays the music once (after about 2 seconds):
sync on
load music "sounds and music/select.mid", 1
set music volume 1, 100
menuStartTime = timer() + 2000
menuStopTime = menuStartTime + 2000
menu = 0
`play music 1
repeat
cls
playing = music playing(1)
set cursor 20, 20
print playing, " ", menu
if timer()>menuStartTime then menu = 1
if timer()>menuStopTime then menu = 2
if menu = 1 and playing = 0 then loop music 1
if menu = 2 then stop music 1
`sync
until spacekey()
If you either comment out the first line (so syncing takes place behind the scenes) or uncomment the sync in the main loop then the sound loops for about 2 seconds as intended after an initial delay of 2 seconds.
The second problem is that
play music prevents the sound being replayed even when it has stopped playing and DBPro says it isn't playing - you need to manually stop the music first. This problem is well known. I really can't see that this is intended behaviour. Just uncomment the
play music line to see this - it seems to be unrelated to the sync problem.
I attach the music file I used but any short file would do as well.