Interesting Challenge.
You say that your unit cost table has 200 records. But any records have duplicates for the same item, just differentiated by the effective date. So are you saying for argument sake that you have about say 100 items and each item has an average of 2 effective dates.
If that is the case are you looking to freeze in the values of all unique item costs into the Estimate record, by only bringing in the most current record for each unique item?
That is the case then a suggestion would be to use a Formula Query to have the item master cost table auto flag the record which is the most current for each item.
When you create a new estimate a pipeline or a formula URL button would import say the 100 unique items into the estimate as a child record, just bringing in the most current cost for each item.
Then while it's a little bit of a pain but something you can do while watching TV, you would create 100 summary fields to roll up the cost up to the estimate record for each different item.
Does that approach sounds like it would work