As a general rule card game AI is hideously complicated (makes Go look like candyland sort of thing).
https://magic.wizards.com/en/articles/archive/duels-planeswalkers-all-about-ai-2014-02-13 being my usual link in such scenarios.
However here it sounds like either a graphical hack/aesthetics hack or just operating within existing scenarios. I find the former somewhat odd (I usually get bored of AI patterns long before I care what the opponent looks like) but to each their own on that one, and the latter if the devs gated off fun stuff for the single player mode can be tedious.
Editing data in the save and then loading it to have it not show is fairly expected -- the vast majority of games going back... probably to the NES have some kind of hash check done on the save so as you surmise it is likely that. You need to either edit before the hash is done (if it lands in memory it likely exists within the ROM at some point so maybe edit that as a cheat to see if it saves back), fix the hash (going to have to figure out what hash and what data is included in it, both of which might well be quite custom*) or tweak the ROM such that it disregards the hash upon loading (possibly the hardest, but if memory cheats are not a thing then possibly the least involved overall).
*if there is an existing save editor for the game then you might be able to do your edit, make a change in the editor and have it correct any hash related issues, or indeed if there is any source code for it then maybe figure out without having to first reverse engineer the hash. While I have seen crypto grade stuff for the DS it is often more of a very basic CRC, bytesum, parity or similar.
Back to aesthetics. Two main choices for aesthetics.
1) You edit the existing data within the game and 2) you edit what the game loads. 1) is very old school and if the data is used elsewhere it will likely break/change that but should be easy enough to do. If you are doing for you then this is less of a concern than making a story mode appear odd.
2) In this case you get to play with load calls and whatever else.
For existing parameters.
The easiest way is use savestates on an emulator, or possibly your flash cart, to allow you to load from a bank of existing scenarios you cook up. This is less than ideal for a lot of people though so we will skip it beyond noting it here. Same for the slightly easier for some option of load up a custom save at a custom point.
Beyond that it gets more fun. Sometimes the enemy AI might just be a number somewhere in RAM just like inventory or something and thus can be edited/selected with a cheat, as might the data in general in the memory but I mentioned that above.
Other times you will possibly want to look at some kind of program flow edit a la some boss rush, forced minigame selection or forced game selection where you essentially jump directly to that point in a game from somewhere earlier in it.