*double checking recent posts*

Yes, well I'm sorry. The PlaySound-statement should be
Code:
PlaySound f$, 0, SND_SYNC
where the call won't return until the file is played to the end.

Code:
PlaySound f$, 0, SND_ASYNC OR SND_NOSTOP
will play the file in background, without stopping the previously startet PlaySound.

I know this is not quite yet what you want, but try this out and tell if you got any sound playing, then we continue and look for something to determine the end of playing and start playing the next song in the list.