oh boy... alright,
I hope, for convenient sake, that after the transfer is done, when I swap SD cards that the saves will stay after the tickets are installed... at least for the GBA games. or do I have to back all of those up as well?
All your pirated games will have spoofed tickets. The same goes for custom made Virtual Console injected games including the GBA ones. Custom firmware ignores fake tickets and treats them as if they're real.
You back up your saves in a decrypted form using one of those mentioned save managers. In fact, you can share your saves with other CFW 3DS users if you wish to.
However, Game Boy Advance Virtual Console titles are a special case.
****
I got good news but some bad news. Mostly good but still bad.
The good news.
It is possible to back up your GBA VC saves using GodMode9.
Inject and dump GBA VC saves: Find the options to do this inside the A button menu for agbsave.bin in the S: drive. Keep in mind that you need to start the specific GBA game on your console before dumping / injecting the save.
The bad news.
If you have a lot of GBA games, you're going to have a bad time.
- Launch the GBA VC game of your choice, exit back to HOME Menu, and then turn off the 3DS.
- In GodMode9, go to [S:] SYSNAND VIRTUAL/agbsave.bin and select AGBSAVE options... > Dump GBA VC save.
- Your save file will be in the gm9/out folder named like this: 000400000XXXXX00.gbavc.sav.
- Repeat steps 1 through 3 for every GBA game. Yikes. You might want to write down which game goes to each XXXXX.
How to tell if your GBA save was backed up correctly?
You may use a desktop Game Boy Advance emulator like
mGBA with it's parent *.gba rom.
- Match the names of the *.gba and *.sav files placed in the same directory.
- Launch your game with mGBA and see if your save is intact.
More bad news.
In order to restore the decrypted save back onto your GBA VC on the target n3DSXL, you have to reverse the order.
- Launch the GBA game and then turn off the 3DS.
- Go to your gm9/out folder and press (Y) on the backed up 000400000XXXXX00.gbavc.sav that correspond to that game.
- You want the *.sav to be [CLIPBOARD] selected on the bottom LCD screen.
- Go to [S:] SYSNAND VIRTUAL/agbsave.bin and select AGBSAVE options... > Inject GBA VC save.
- Head back to HOME Menu. Launch the GBA game and check if the save was restored.
- Press (HOME) to exit back to HOME Menu. Repeat steps 1-4 for the next GBA_VC title.
This is super tedious, but the option is there at least. The reason why Checkpoint, JKSM, and even SaveDateFiler (Nintendo SDK app) can't back up GBA VC games is as you expected, they're encrypted differently than native 3DS games.
I think a copy of the last played GBA has it's save loaded in a decrypted state somewhere on the NAND when entering and then exiting AGB_FIRM (GBA mode). This is why save retrieval is one game per launch session.