Is there any particular reason to place the pthread stack adjacent to the win32 stack? If the pthread stack happened to extend past PTHREAD_STACK_MIN while the win32 thread was started, writes to the win32 stack (such as the initial CONTEXT) would overwrite the pthread stack.
-Jefferson