A thread in time saves 9 hours debugging
Now, some will pop up at this point and say that non-OS threads (like VisualWorks Smalltalk has) raise the same problems. The answer is, no they don't. Why? Well, the process model for VisualWorks processes is written in Smalltalk, at the image level. That means that you as the developer have complete control over lightweight process semantics. If you don't like the process model, it's simple to implement a different one, because you don't need to dive into the VM to do it.
OK, but one of the points in the original post was that multi-threading gave error-prone code - are VWs semantics simpler, the debugger better? Being easy to change from a base which is the same on all platforms is cool, but didn't answer that point (for me at least).