i tried everything you suggested and nothing works except for the fakery you suggested of loading an appropriately long bunch of silence. i now have it close to working. it seems that i have to overwrite the buffer with silence as you suggested. now i just need to calculate the amount of silence needed instead of making it a huge amount. too bad that this work around is needed but i am so pleased that you got me looking in a direction i would never have thought of.so it looks like the soundcard buffer is not purged by reset or anything else and has to be completely overwritten with silence.
if anyone is listening, i would still like to know how to fix the win32 sound module.