Hey check this out. I was doing some reading around a min ago to see if I can help alittle and found a doc that might be good to read.
Statement you said about the sound running on separate thread is something that i should read about. I still think that the program need to be programmed in a dual processor environment but i think that I could be wrong as all out door :-( so i have to read more on programming in a dual processing environment :-(. Man i have to stop my reading on NBNS ( NetBIOS Name Server :-( ) for a min.
check out the link :-) i think it might be helpful.