Hi Gail,
In what isolation level is the query that checks the results running? Do you have Read Committed Snapshot on?
Also, have you considered using the DELETE...OUTPUT clause to capture the results that should be inserted into the new table, saving you first having to SELECT into your table variable?
http://msdn.microsoft.com/en-gb/library/ms189835.aspx#CaptureResults
Jamie