I just came across this on the Wizard's site, and my first thought was I wouldn't wanna be them, being audited by Eliot. That'd be pretty embarrassing. I was going to say -- the short period of time between when this problem surfaced in the logs and when it was discovered makes me think it probably wasn't intentional, though. It was so obvious, it doesn't make sense for it to be intentional, if you subscribe to the theory that people only cheat when they think they can get away with it.
More than likely it was a tiny mistake with huge repercussions, when someone uploaded the wrong file. When you're dealing with hundreds of source code files for a big software project, with hundreds of revisions and versions and bug fixes on each one, it's sometimes possible to screw up and put the wrong file to the live server.
Back when I was testing my software -- before I took deposits, when I was just handing out cash to beta testers -- I ran into a problem with the Craps game not showing the win animation sometimes. So while I was tweaking the flash animation, I set the back end (on the local version, on my own computer) to ignore the RNG and just roll 7's every time. That way I could test the win sequence over and over, and see what was going on. Unfortunately, I forgot to change it back to the RNG before the next time I uploaded a software patch, so the next guy who came along was the luckiest guy in the world, he sat down and rolled about a hundred consecutive 7's on a $5 table. For real money.
So as a programmer, you have a lot of pieces of code for testing that do all kinds of weird things you'd never upload to the live server. Having said all that, this means they had a piece of code floating around, for whatever reason, that double-deals cards. That's not a very complicated piece of code to write. On the surface it doesn't make a lot of sense for testing purposes, but consider this -- this code doesn't just double-deal. It keeps dealing until there's definitely no win. True, that's a very similar piece of code to one that double deals and lives with the result of the second card, but it's both more complicated to write (because it's iterative), and more detectable; I mean it's blatantly obvious.
Here's my guess...and this is my best guess without ascribing any malice to them, because like they said about every President since FDR, never assume malice when you can assume incompetence: When you write a 50-hand poker game, you're taking one bet and splitting it 50 ways. You could test it a lot of times, maybe thousands of times, without ever seeing a situation where not one of those hands paid off. Somewhere in your payout code, you're going to have to take the initial bet and divide it by the number of winning hands to get the score. If the number of winning hands is zero, then you're dividing something by zero... and when you do that in a computer program, the program throws an error and crashes. You can't divide by zero in most programming languages without the program crashing.
*edit: The right way to do the actual payout would be to take (x/50)*bet, and I can't really imagine why they'd have something divided by zero, but maybe it was a second operation for a bonus feature or something else.
So this piece of code was probably written specifically to find out if their game was crashing in those rare cases where no hands paid off.
There was probably an easier and better way to do this, like short-circuiting the payout routine instead of screwing with the cards, but my bet is this came out of a crash they observed, and then they uploaded the wrong file after testing it. Mass incompetence, yeah...but too stupid to be intentional.