Using your calculator, its actually 0.013% since you should be looking at the cumulative probability, ie, the chance of hitting 90 blocks or more when 59.4 is expected.
So it would happen more than once per year on average.
But Id also like to see which blocks we are talking about, not sure anyone accounted for the fact that time stamps on these blocks can be wildly off, up to two hours IIRC.
Yes, that's definitely a better estimate for the likelihood. The number I'd quoted was for exactly 90 blocks instead of >= 90.
The blocks are numbers 299349 through 299439 - it's actually 91 blocks in the 9 hour period which I guess is really actually a cumulative probability of 0.0000532 assuming the timestamps are accurate. The timestamps seem likely to be reasonably accurate here though as there were blocks 11 minutes before and 4 minutes after. We still appear to be looking at a highly improbable event but one that should occur once every 10 to 11 months and I guess would be all too easy to miss unless you were watching the stats on a very close basis.
What I was interested to understand was the probability that in any 24 hour period the hash rate would be 10% high or 10% low. I couldn't find a good enough calculator (I need to set something up with a bignum library) but for 10% high or low in a 12 hour period things we get that the hash rate will be high 17.5% of the time and low 19.5% of the time. That (to me at least) was surprisingly often and suggests that it would be interesting to find a better way to estimate hashing rates. It's certainly more than enough to explain some of the jitter in the past difficulty increases though.
I finally generated and published some results. The most surprising thing to me was that it's quite likely that the difficulty level can end up significantly skewed by random events, but there's no real way to know whether this has happened or not. The full analysis is over at: http://hashingit.com/16-hash-rate-headaches