There is an article on VB-World (i think) on how to wait for shelled processes to finish...

I would suggest checking that out