I only use one SD card and one camera, so I just store the name of the last file copied (e.g. DSC02745.ARW) and the next time the card is inserted I only copy files that come after that one when sorted by name. It would be pretty easy to extend to multiple cards and/or cameras, but I've never had the need.
If you really wanted to avoid dupes you could just hash the pics, save a list of hashes in a txt and then lookup against new ones, but it's less efficient than what OP proposes.