In order to use TR1 on Visual Studio 2008, you have to install the Service Pack 1. Why don't you want to use Boost? It contains tons of useful features, not only random generation.
The alternative is to protect global rand() calls with a mutex. But this can quickly become slow. An own random engine per thread is much cleaner. And you can enforce deterministic generation of random numbers, which may be helpful for debugging.