I know these examples are purposely simple to be more easily understood, but this is probably going to be one of the first topics that programmers who are new to threading are likely to read when learning about writing threaded applications. Seems like the examples should make more of a point of thread-safety so new programmers don't have to learn about it the hard way. Even mentioning thread-safety in the comments and a link to more information in the "See Also" and/or "Other Resources" would be a step in the right direction.
I'm by no means an expert in multi-threaded applications, but from what I do know, to be thread-safe only the main program thread should ever have any interaction with the UI, you should never interact directly with the UI from inside a spawned Thread. The best way to accomplish this is by using a CallBack, like in the example "Retrieving Data with Callback Methods" in the article Creating Threads and Passing Data at Start Time (http://msdn2.microsoft.com/en-us/library/ts553s52(VS.80).aspx)