Not actually true. The code assumes 21 million in many places, not literally that I know of, but this limitation plagued IxCoin in that it would crash in 2015. A second limitation is bitcoin networking can only handle 64-bit integers, so this idea would break in 2.1 trillion years. Wishful thinking, I know

.
The code assumes 21 million as the maximum number of coins in a single transaction, not as maximum number of coins. Or at least that was what the developers said in some other thread.
Maybe one of them will chime in to aknowledge it.