The brittleness comes from the fact that the number of implied decimal digits per currency isn't always well-defined across all stakeholders and systems.
If you're only working in a single currency, there's usually no issue.
Yes, definitely always include the number of digits, but at your system boundary you still have to pray that whoever you're working with isn't silently dropping that number and re-deriving it from their own, almost-4217-compliant currency database.
Redundancy can be great, but it's not a panacea, since it's not guaranteed to be used in an optimal way.