The main limitation is that JSON, being JavaScript-based
What does JSON have to do with any of this? The Bitcoin protocol does not use JSON anywhere.
No, but the RPC interface does, and enough programs are still treating bitcoin amounts as floats that floating-point precision is the limit of what numbers are "safe".
In fact, I predict that within a year of fractional satoshis being introduced (by a protocol extension or second layer or whatever), someone will lose a significant amount of money due to a floating-point rounding error in third-party software.
i've been looking at Stronghands (PPC clone) because it can't handle a transaction value close to MAX_MONEY,
it appears to pass a pre-check, then is entered into wallet db, then fails a post-check breaking the wallet.dat
i'm not sure what's going on, but at some point tx out value is handled by JSON.
i'm wondering if this is causing the problem through slight variations in value.
there are a bunch of checks arounds MAX_MONEY (including MoneyRange).
i changed one of the error checks to (MAX_MONEY - 1),
and it still allows .00000011 over that value so there is some obvious looseness around these values. (edited, too many zeroes)
https://github.com/bumbacoin/stronghands/commit/8bc58843f43012e142beff29a8fcbb7a37c8ed5bon a cursory glance the code is the same as PPC, BTC has changed a lot since then.