Getting Only What Changed from SQL Server 2005
I would change the process to be more like the following.  Not the best solution, but there aren't that many good options to begin with.  

Import Data Process:
a) - Drop yesterday's table
b) - rename current table to *_yesterday
c) - Import from system to current

Create view in Store's SQL Server that will return only rows that are new/different between current and _yesterday's tables. Something like the below.

SELECT Current.*
FROM Current
LEFT OUTER JOIN Yesterday ON Yesterday.PK = Current.PK (or list each field out seperately)
WHERE Yesterday.PK IS NULL (so the new ones)
OR ISNULL(Yesterday.Field1, '') &lt;&gt; ISNULL(Current.Field1, '')
&lt;repeat&gt;


2) - Move data to HQ
a) - Use view created to just pull across only the new records (possibly into staging table).  Then use merge? (is HQ a higher version of SQL?) to push the newly updated data into HQ's copy of the data.