This an old NAV-feature. Reason for not assigning the “correct” cost at once is to save time when posting sales/purchases.
Your example is simple, but another scenario could be when selling “some-of-this + some-of-that” (FIFO takes whatever avaliable from the first avaliable lot, the remaining from the following lots) - then you would not have only one in-cost to assign but several.
Other scenarios are selling before purchasing (qiute common!) and using Costing Method Average.
The CostAdjust-batch takes care of all this. More frequently you run the CostAdjust-batch, less timeconsuming it is.
But if you use NAV 4.0 SP1 or newer there is an option: Taka a look at Warehouse/Setup/“Inventory Setup”, tab General, field “Automatic Cost Adjust”.
When you create the sales line system automatically copy the value in Unit Cost (LCY) field of sales line from Unit cost field of item card. When you post the sales invoice or shipment it takes the same cost copied in the Unt Cost (LCY) field of sales line.
Might be this can help you understand more about how cost is captured.
Moreover - even AFTER running Adjustment the SO contains original costing info, only Item Ledger (Value entries) are updated - you shoud never use Sales Ledger as source for any kind of COGS reporting.