1) [man]rand/man states that it returns an integer... so i have a feeling all your doubles are being converted to an integer upon return....
2) rand sucks sucks sucks... (at least the windows XP, 4.2.3php version) don't use it... at least user [man]mt_rand/man
better yet: do a search on google for
"knuth random numbers"
the great god knuth will give you a good algorithm to generate random numbers