I saw in a discussion somewhere this 1,000,000 bytes? Not sure if this is still the case. I assume this isn't too important and just to prevent ddos attacks on smaller clients?
This is the case. If you fail to apply the restriction, you'll end up on a separate network.
generally seeing if all the fields can be parsed without an error?
Yes.
I haven't seen any other formal discussion around what a valid range is for an amount.
0-21 million. 0
is valid.
The precision is part of "syntactic correctness".