21M is not a hard limit where the supply will suddenly stop. it's a limit process and the 21M will never actually be reached! therefore, this is somehow mathematically equivalent to an infinite supply ... thank's to the number of decimal digits, it's also no problem at all.
Not quite accurate. The 50 BTC reward figure divides by two every 210,000 blocks (about four years, depending on network growth). Let's see, 50 BTC = 5*10*10^8 satoshi = 5^10 * 2^9. The division is performed by bitshifting, so the 5s are really identical to 4s or 2^2 for these purposes, so all together 2^29. So the fee will entirely disappear in 30 cycles of 210,000 blocks, or about 120 years.[/nitpick]