2,100,000,000,000,000 Satoshi fit in a floating point "double" with two bits to spare. This allows programs to use standard numeric code libraries without worrying about truncation errors - there's enough to have a rounding bit and a guard bit. In contrast, Litecoin's 8,400,000,000,000,000 Satoshi is right on the limit.
Try these steps in a calculator on your desktop computer:
2100000000000000 [multiply] 4 [equals] [minus] 1 [equals] [divide] 4 [equals]
2100000000000000 [multiply] 8 [equals] [minus] 1 [equals] [divide] 8 [equals]
On my computer, the first calculates 2099999999999999.75 showing than no precision was lost. The second produces the original number showing that the "subtract one" was lost.
Now try these:
2099999999999999 [divide] 3 [equals] [multiply] 3 [equals]
8399999999999999 [divide] 3 [equals] [multiply] 3 [equals]
The first returns me to the original value, the second doesn't! This means that a Litecoin like limit would need careful handling of numbers.