I am willing to bet that every developer has been warned about the dangers of developing multi-threaded operations at some point in their career. Let's face it, we have enough to worry about with apps behaving oddly as a result of client machine setup, network configuration, and authorization changes...