I do not think we should make it configurable but just support that the line is created when the cost is empty.
Aslo we should take in account that the system may compute a cost of 0 in the sale, but update the cost latter in the shipment. So the final cost is what should be invoiced to the customer.
P.S: You can discuss it directly on the issue, so all the discussion is in a single place.