-snip-
However, at the same time, many of the so call proofs accepted for things like dice games could be cooked by a skilled programmer.
Only if the hash function behind it is broken. The basic principle that makes the rolls (not the site !) proveably fair is that the server can provide a hash of the seed used to generate the rolls. Once the full seed (or the servers part) has been revealed the player can check that its indeed the correct seed and that the rolls had to be like this.
Just a couple points, from a programming point of view.
1) The seeds are not meaningful unless you can actually exercise the code and produce the same throws. Unless you know for certain the exact bytes running on the server, you can't be sure what you are seeing. There are many possible cheats here, but they are complex in nature for an unskilled programmer. I won't say more, but there are many possibilities.
2) You can still cheat without mucking with the random numbers by favorable rounding of the thresholds, etc. A ton of little nicks can add up and if caught ... "Thank you for finding a bug!"
The problem is proof in the crypto world is only hash deep. You can wrap a cheat in proof and it would still cheat.