Ahh, I see your point. If a person has open channels with insufficient inbound capacity, the customer not understanding their inbound capacity limit may be an issue of insufficient/inadequate documentation that can be read/understood by the 'average' non-technical user, or error messages that are not specific enough.
If you were to send that invoice to a business, the business should (automatically) be able to tell you what is preventing them from paying the invoice, in your case insufficient inbound capacity.
Which leads to more programming / work on the time of the exchange and more places for errors / vulnerabilities to come in.
What I am describing should not add add vulnerabilities, as the amount available for outbound transactions is public information. You should be able to look at an error message, and other information, and be able to determine what the underlying problem that is preventing a transaction from going through. I don't think the technical expertise required to implement what I describe is higher than what an exchange should have. Exchanges and other businesses should have engineers that could implement what I describe; if they don't, there is a risk, even probability that other vulnerabilities will exist and will be exploited.