Define your field as a calculation (unstored) as:
Last (Cost Table::Cost)
This will pick up the value in the last record. note that this will be dependant upon the sort order of your records, but in the current case I think you're pretty safe. Think through if you would ever need to sort your purchase records in any other order than they are entered (By date, Ascending).
Thanks Ninja. It works very well.