You demonstration of statistical probability is incorrectly stated.
For example, if you want to get a result where twenty five genetic changes are necessary in order to get an arm to evolve into a wing (for example). To get the wing you would need for blocks to be in a 1,2,3,...24,25 order. If they are not in 1 to 25 order, no wing. Your demonstration could be to take 25 numbered blocks and put them in a box, shake the box and dump the blocks onto the ground. In fact, your statistical example does this and, yes under this process, you’d still be tossing blocks in the air and letting them all fall to the ground in the required order, you’d be tossing blocks until the cows come home.
I’d use the method demanded by evolutionary theory. Each consecutive change depends on its precursor already existing in the organism. So, I’d put the blocks in the box and toss them until the number 1 comes out first. As that change has now occurred and is a part of the organism, I’d remove the one from the box and toss the remaining blocks until a 2 comes first. Now we have two of the required changes, I’d remove the 2 block and put it with the 1 block as I’d have change 1 and 2 in this generation of the organism. Now, I’d repeat this process until I had all twenty five blocks in order (The wing in this example).
Your statistics ignore natural selection. Nature will first select 1 then 2 and so on so long as each change either gives the organism an advantage in passing on its genes or is neutral.
My approach is wrong to the extent I have come up with a much greater probability of evolution happening than actually would occur. The actual probability that any one of the 25 blocks would ever exist is less than one. The probability that any one of the blocks would align with the previous one is a good deal less than one. Every process in an open system never occurs with certainty.