I mean we are here to educate him about the use of it, that was a lot of facts which could be found from my original series of posts.
Learn what standard deviation is.
Read the API Docs on the method: "Generates a random integer based on a normal distribution between 0 and a capped value based on a secret maximum deviation based on the standard deviation." .
You now know that the method uses normal distribution, has secret capped value and the value is always 0 or more. This means the positive (right) bound is only used so that negatives are impossible to appear.
Use this calculator to see how your numbers are effecting this method: http://davidmlane.com/hyperstat/z_table.html
TL;DR: gRandom uses normal distribution to calculate a number, this means we need a mean and an SD for a degree of deviation. The method then only selects from the right bound, we means the selected value can only be larger than the original value.
The reason for gRandom being broken is that the method only uses the right side of the possible values, meaning we can't get anything less than the original value. This is good as it is impossible to retrieve negative numbers from the method, however it means that in certain cases such as the example below, we can't access the left bound values, which is an issue in a lot of cases. I believe this was purposely implemented as gRandom in a lot of cases would actually return a negative value, when this value is attempting to impact things such as sleep, you can see why you wouldn't want a negative value in this case.