That's because he already had modified 10,000 blocks and they were added to his total blocks.
For the block count, the blocks you have modified are stored in the database. When you come online that database value is put into a variable, which will be your total block count. There is another variable which stores how many blocks you have modified since logging on. These two variables are added together to create your total block count. When you log off, that value is written to the database.
If a player has 10,000 blocks total, and 0 blocks since logging on, he will have 10,000 blocks when logging off.
If a player has 10,000 blocks total, and 264 blocks since logging on, he will have 10,264 when logging off. The report on /whois will still show that he has 10,264 total blocks, and 264 since logging on. From there it's simple math to see how many blocks he had when he joined. Take the blocks he done since logging on, and take them away from his total block count.
I'll review over the block count code after the weekend, it's Manchester Pride today, and we're going to get Chris' car tomorrow.