This just looks so odd to me:
delete from GearsDev.dbo.Products from GearsDev.dbo.Products as C inner join #Common as M on M.item = C.ItemNumber
From MSDN The second from allows you create a filter that corresponding rows in the first from are deleted where they match.
In this case Delete all [GearsDev].[dbo].[Products] where ItemNumber has a corresponding row in #Common with the item of the same value