Take advantage of the Done event.

Before I issue the play command, I set a flag and then reset it in the Done event routine.
[code]
somewhere in the code of my doorprize drawing app:
If frmMain.mnuSound.Checked = True Then
bWaveFinished = False
' select a sound clip
iFileNum = iSelection Mod 8
MMControl.filename = App.Path & "\WINNER" & iFileNum & ".WAV"
MMControl.Command = "Open"
MMControl.Command = "Play"
While bWaveFinished = False
DoEvents
Wend
End If
.
.
Private Sub MMControl_Done(NotifyCode As Integer)
' Close the MCI

MMControl.Command = "Close"
bWaveFinished = True

End Sub
[\code]