You're right then we probably should optimize the schema refresh as you're right we hold a file lock on the backup file so it couldn't possibly change. I'll put that as a fix request for the point release.
You could use mapping to map the table names together and then the columns for the keys if they've changed. Data compare will never create a table as there could be many dependencies which we don't read like filegroups, assemblies for CLR types, partition functions etc. etc. That's really a job for SQL Compare.
Tips and how-to guides for Redgate products
Ask, discuss, and solve questions about Redgate's tools
Meet us at an event, get sponsored, and join our Friends of Redgate
In-depth articles and opinion from Redgate's technical journal