So indeed we will never have 21 million coins that way.
You can just ignore the nonsense from Charles-Tim, franky1, and hugeblack. Clearly they didn't pay attention to what you were actually asking (although at least franky1 did point out how at a technical level the "halving" actually works and why the extra half a satoshi simply disappears.
As o_e_l_e_o has pointed out, and you have come to realize, it was never intended that there would be exactly 21,000,000 Bitcoins. The more accurate phrase would be that there will never be more than 21,000,000 bitcoins, since no matter what the number is it will always be less than that. There have on occasion been miners (or mining pools) that have failed to create the maximum allowed block reward in their blocks. Therefore, the actual total will end up being less than the 20,999,999.9769 Bitcoins that were theoretically possible when Bitcoin first started.