I actually tested this, though my experience was with a digital copy of AC:NL from the eShop. The following scenarios were tested:
1. Save AC:NL on SD Card A. Remove from 3DS, copy the entire card contents onto SD Card B. Put SD Card B into 3DS, and attempt to load game/save.
Result: Success! All eShop games and save files are properly trasferred. Both SD Cards have different capacities, manufacturers, etc. (One is technically an SD Card adapter for a MicroSD Card, and the other is an actual SD Card.)
2. On SD Card B, load AC:NL, and immediately save the game, after loading. Swap out, put in SD Card A, and attempt to load game/save.
Result: eShop version of AC:NL loads, however, it shows a message saying "You've saved more recently than the data on here, delete data or cancel?"
3. Cancel out of that dialogue, put SD Card A back in, load game.
Result: Game and save load with no issue.
4. Take *both* SD Cards out and digitally compare their contents.
Result: The .sav file is the *only* difference on the SD Cards, indicating that the "what was the last save ID/hash/checksum?" is most likely being stored somewhere on the 3DS itself, at least for the eShop version.
Any other recommended tests?