Thanks for all the help so far.
I'm running into a bit of an issue. If I input certain Action Replay codes, I am able to modify parts of the character. However, if I use the game's save feature, and then I try to load from the save, I get all sorts of bugs, ranging from different characters being loaded to incorrect stats, to even the whole save file being corrupted. For example, I have character #0004 located at position (x,y), and after the save, it is character #003. Another character's HP, which should be 6000, is now ~18000 after loading from the save.
From my research, it seems that I need to do a "pointer scan" instead of modifying "dynamic" addresses, but as far as I can tell, there is no option to do this in DeSmuMe. What can I do next?
Another issue I run into a lot is trying to locate values in memory that I can't modify. For example, let's say a character's Max HP is 4000. There is no way for me to edit this value in-game. Using the RAM search feature, I can only narrow it down to about 100~200 values. It makes it quite time consuming to have to manually test each of these addresses. Any tips on how I can narrow down my options further?