I'm still looking through the patches but I might as well mention right away that we don't want to add any new code to d3dx10_43_main.c. In fact we moved a few functions out of that file when implementing them (but, as far as I'm concerned, pretty much any excuse is good to move stuff out).
async.c seems like a good place for the thread pump implementation but I'd consider other options too.