Whoa. Finally got through the hoops to be able to post here..
I've been observing the reward calculation and seen some weirdness too. Including the estimated reward for the current block.
Maybe it's not just a matter of databases not being updated correctly, but some data type overflow. Miscalculation seems to happen when pool score passes 4G. If some intermediates are calculated as 32-bit values, bad things can happen to the outcome.
Just hope that Slush can look into this and possibly confirm this bug that has been biting us. More or less since the move to EC2, which could explain different compilers/platforms when compared to the ovh hosted machines.