I have been pulling it from the Variant which is an extra API call but hardly qualifies as making things difficult to communicate with other API's. So what if you have to make a call to get it? You are not processing the order in real-time anyway and an API call per variant is cheap all things considered. At what point to you draw the line about how much info a line item contains about a variant?
I wish it was included myself as I once considered including barcode in all my reporting too... but have since decided that since it slows things down... screw it.
Talking about crucial, while you may consider barcode crucial, for me it is the fact that line items do not report the discount applied to them. That makes accounting nightmares...