Lookup fields set their value when the record is created and they do not automatically update unless a relookup is triggered. You would be better off using calculation fields with the calculation set to the corresponding field in the import table.
I'm a bit unsure of your setup though - if you have a relationship between the two tables based on the PO field, what are the different part numbers? Are they based on a third table?
So the Part # field is also in the same table as the PO's.
PO Part # Quantity
1234 29-2 5
1234 29-5 7
4567 30-3 8
User Enters: PO 1234
Quantity defaults to 5
Part # (drop down).. Can pick 29-2 or 29-5
If user selects 29-5 quantity field stays at 5 and doesn't switch to 7
With your current setup, even if you have the Receiving::Description set to be a calculation referencing the Imports::Description, it will only ever give you the first value in the related table for the PO. You need to have another table occurrence that uses both the PO field in the relationship and the Part# field. That way, when you look across the relationship to set the Receiving::Description and Receiving::PO Quantity it will pick up the correct value from the record that is related by both the PO field and the Part# field.