This was a lot of fun Mark!!
I have been playing around with this challenge on and off. In the attached zip I have given the source and executable. What I have done since the above version was to start using the "Mersenne Twister" random number generator and also built a testing app. The testing app showed me that I needed to play with the "SEED" a little more (basically, wait for a bit then generate a new random number to get better/more random results). So I also started to use a higher precision timer class to give me a better/faster SEED calculator.
-e.g.
...
while(seed == oldSeed) {
t2 = pctimer();
seed = t1+t2;
}
The attached version generates a new random number for every character in the string now (waits a long time).
Anyways, fun challenge.