I still think 21 million was an odd choice, though.
I suspect that Satoshi started with an initial per-block reward of 50 BTC which cuts in half every 4 years (210,000 blocks). The consequence was 21 million coins over time. As mentioned above, the top limit doesn't really matter, but using psychologically convenient numbers when the system bootstraps probably does.