Anti piracy is largely considered a sorted issue these days, though the DSTwo was there to the end so should be fine. Not sure if/when he dsone(i) was retired and its level of updates -- many things stopped after the big dsi/3ds DS flash cart blocking update, pokemon conquest and pokemon black 2 and white 2 being the thing most are concerned with there.
https://gbatemp.net/threads/ap-patch-preservation.477536/ for those that do end up with an EZ5i or something.
DSTwo savestates were probably the best in the end, nothing running natively inside the DS will ever be emulator grade though and you will still be advised to check things work first or otherwise get to a quiet point in the game, and be prepared to force a graphics/sound/whatever refresh (restart level, go into a building, go to a menu...).
Toggleable cheats was available for several things in the end, would be surprised if the DSone did not have something though. What I am more here to say though is making cheats toggleable is not that hard
https://doc.kodewerx.org/hacking_nds.html
Two main approaches
1) If ye boring and basic infinite gold does not need to be infinite then easy enough to make it a button activated cheat inside the cheat engine such that you set it to however much you need with a simple combo press of your choice.
2) If the cheat does really need to be on all the time (infinite health if certain combos will nail you) until it isn't then it is marginally more complicated.
You will want to find some area of memory not used in the game (used to be DEADBEEF option in DSATM, which does also have options to disable its cheats, was also a version of desmume that noted reads). Once you have that you can
Make an activator cheat toggle this area or have two combos, one to enable, one to disable (possibly disabling multiple things depending upon what you want to do).
Have another cheat read said area. IF =1 then load the always write cheat, IF=0 then don't.
Can have as many different combos here as you like/can remember/can reasonably encode as well for most cheat engines are an all or nothing if enable/disable is a cart level feature. Do also bear in mind closing the lid/waving a magnet about start-select for the clamshell DS playing devices counts as a button as well and does not just do sleep mode.
2a) If the infinite health, time or whatever is going to be a problem for say end of level (had many games over the years run down timers and health to add bonus score at end of level), or need to get below a certain health to trigger an event then you can make a better cheat still that detects the event/conditions happening (there has to be some tell in memory somewhere) and disables if so. Most people in this scenario just default it to 1) or tell people to swap out/disable cheats when that level/event happens.
Cheat editors (I used a related one for the ISMM that was based on the same code) if you mean the onboard cheat finder were more of a novelty than something to use in anger. By the time they appeared then emulators were more than capable of such feats (if it had appeared while people were still messing with the ensata emulator or something or could dodge having to get the datel trainer toolkit* while the best cheat makers were still using that then that would be a different matter).
*thought I had found one the other week but was just the later cheat only one.
twilightmenu compatibility you are on your own for.