It could be useful a procedure that auto-update the Supplier Purchasing Data (suppliers, price, date, ...) looking at the last deliveries of the items.
The problem with this is that the last delivery may not be at the standard price (you maybe needed it in a hurry so paid a premium, or you got it cheap in a one off fire sale for instance) and you wouldn't want this overwriting the standard price setup in the supplier purchasing data.
I agree. Purchasing data should drive P/O price and only be overwritten for a specific reason. Then the P/O price should be compared against the invoice price before entering Invoice and they should match.
Quickly greping the code shows that the price in the purchdata table only gets updated via the PurchData.php and the SupplierPriceList.php scripts, so there is nothing that can be dynamically changing that cost.