You didn't say you were attempting to only add new records or update by over writing, or what. So maybe you should be wiping the table and then reload it. To see what the problem records are, put them in a new temporary table then run a query using the new and current target table, looking for matches between the key fields. As for the deleted part of your post, that might be a normal consequence of your actions. Are you saying this is expected or is it not?
The more we hear silence, the more we begin to think about our value in this universe.
Paraphrase of Professor Brian Cox.