---FIGURED IT OUT---
Solution:
For Desmume, you need to first load up the game you want to put into the cartridge, then do: File --> Export Backup Memory. That lets you export your game's updated .sav file.
Explanation:
Saving in-game does not update the .sav file that you loaded into the emulator. The emulator uses both (1) a .nds file, and (2) a .sav file, in order to play your personal Pokemon game. But when you save in-game, it does not overwrite the .sav file you loaded. The emulator (as far as I can tell) uses this thing called a .dsv file to keep track of your updated save progress. But you then need to export this progress into what they call a "raw" save format, or .sav, before you can restore it in your DS game.
Sorry for the useless topic. Hopefully someone will search this same question and find a bit of help.
EDIT: Thanks FAST for the reply - I was typing my resolution before you sent it!
Tutorial
So you want to play your DS/3DS Pokemon game on an emulator and be able to load it back to your physical game after. The reasons may be: speed up training, ease of use, etc. So here's how.
1) Load up Godmode9 and dump the cartridge. I'm not going to reinvent the wheel, so follow this Youtube guide: *I can't post hyperlinks, so just search on Youtube "How to Use Godmode9 - to "Dump Nintendo DS Cartridges" for Flashcarts/Emus/TWLoader + Backup Saves!". It's by GameInCanada.
Note that TitleDB isn't around anymore, so ignore that part of the guide. Just use something like CheckPoint to create a .sav file from your cartridge. This tool is just going to let you extract the .sav file from your cartridge. There are many guides online about how to use CheckPoint.
Explanation: You're getting all the stuff from the cartridge to your SD card so you can bring it to your computer for an emulator.
2) After following that video guide, you should be playing your game on your emulator just fine. Now, after you've trained everyone to level 70 at 2x speed, you're ready to get this thing back to your actual Pokemon cartridge. Obviously, save in-game first. Then from the emulator, do: File --> Export Backup Memory, and put your .sav somewhere safe. Now load up your SD card on your computer. Navigate to the same location you got the .sav from earlier, which should be somewhere in CheckPoint. But this time you're going to make a new folder, alongside the folder which holds your original .sav. Name it something short. Then inside it, put that .sav file you exported from the emulator. Name it the same as the original .sav file, or CheckPoint can't restore it. For example, when I back up HeartGold, CheckPoint lets me name the backup. Let's say I choose "HG 5.23.19." On the SD card, this will create a folder called "HG 5.23.19" and a .sav file within called "POKEMON HG.sav" But the emulator's exported .sav file will be something like "POKEMON HG.0.sav" or whatever you name it to. So you need to rename it to "POKEMON HG.sav" or whatever CheckPoint calls them for your game. Once this folder is created and you've put the new .sav file in it (and renamed it), you can put the SD card back in your DS and load up CheckPoint to restore the new .sav file. Tada!