Methinks you'd have an easier and less risky job of it if you only had a Location field in movements. Then the last location is simply the record where Max of the Dates for the item that was moved, and you'd get that from a subquery. Don't use a subquery and you get all movements in chronological order when sorted by date.
Trying to get field values from related records when those values are in another field is hard enough. Getting them in correctly is even harder and is something that I would avoid. Maybe the approach that you're wanting to use here is influenced by Excel-itis?
The more we hear silence, the more we begin to think about our value in this universe.
Paraphrase of Professor Brian Cox.