That I think is the key distinction: HL7 works okay for a group of tightly coupled systems, usually internal to a single organization. The biggest problems today are with data interchange between providers, networks of providers, 3rd party vendors (cloud based or whatever) and the like. The finance and insurance industry have, I think, figured this out. Healthcare has not.
That's a good point and to be honest, I didn't deal much with things outside of the hospital itself (I mainly worked in the ADT 'sphere') but I could see how the 3rd party stuff could get hairy... especially if they're trying to deal with different message formats within the same facility.