Hi,
From the trail I can't directly figure out if you're just not happy with the frequency of synchronous call and/or you can't get the async to work. If the latter is the case I suggest that you post the non working code.
Anyway what may be of interest for you is to check out a third option:
PlaySound[
^]
This may just work for you.
Cheers, AT