What write concern are you using and are you checking the success of the write operation?
One thing you have to keep in mind is that the _id is generated by the driver, on the client side - it is NOT generated by the server.
So having the _id does not mean that the data was successfully sent/delivered to the server.
Now, if you are getting back success for the write and you are using writeConcern w:1 (acknowledged) but during the data load you are losing the primary, unless you have used w:2 as write concern (waiting for replication to at least one other node before acknowledgement) you will potentially have some records that would be written to the primary, not replicated and then if you shut down the primary and another node becomes the primary, the original node will have to roll back that write (since it's not on the new primary). If that's what happened, you will be able to find a "rollback" directory in the data directory which will have the documents that were rolled back.
Asya