I'm not sure whats causing your problem off hand, but why not try to increase the randomness to 10 and set the .5 value to 5. I'm guessing here but I think that random(1) only gives you the random number between 0 and 1. I'd be very surprised if the random(1) ever turned up a .5 its either going to be 1 or 0. So if you increase the random(1) to random 10 and then do your check on > 5 it may help.
Hoz