3. Now, if all you do is calculate what he WOULD have won had the dice result been shifted by 2, then I calculate +420,784 BTC!
4. If you shift it by 1, I calculate -427,822 BTC!
If what I said in point 3 and 4 are correct, then you wouldn't find this fishy? Almost like he was purposely leaving a trial?
I can very confidently say that both 3 and 4 are wrong. Somewhere you messed up. Note how 3 and 4 are VERY similar sizes but opposite sign? Note also that he was nealy always betting high. So most of the time shifting a win would stay a win. The only way you'd get that result for real was if he exactly alternated big/small bets and the RNG generated in high/low alternating sequence as well. And if he did that, shifting 2 would be roughly same results as he actually got.
Your program is broken.