First block with 25 BTC reward is not 209999, it's 210000.
Code reads:
int64 static GetBlockValue(int nHeight, int64 nFees)
{
int64 nSubsidy = 50 * COIN;
// Subsidy is cut in half every 4 years
nSubsidy >>= (nHeight / 210000);
return nSubsidy + nFees;
}
Only 20405 blocks to go now!
First 25 BTC block will probably be mined at: 2012-12-06 21:40:54 (GMT+2)
even though it's only a code-comment and not actual code, that is the kind of statement that can lead newbies to confusion about how things actually work:
// Subsidy is cut in half every 4 years
should say:
// Subsidy is cut in half approximately every 4 years
or
// Subsidy is cut in half every 210000 blocks which will occur approximately every 4 years