As of yet I (and most others that are not Nintendo's engineers, those behind 3dbrew and presumably the gateway team) have not seen how deep the 3DS goes as far as security and how things run so at best I am making educated guesses on the theory of how computers work. To that end I would not be surprised either way to hear that the homebrew is there, the games are editable and you can set about making cheats for them however you would want to do it* or that the games are too well encrypted/protected for the gateway to do more than present an unaltered image for it to run. I could also expect something in between where each game is taken on a case by case basis or something to be said along the lines of "though it is theoretically possible we would have to spend a long time analysing the 3ds kernel/OS and adapting it accordingly, and we do not feel this is a good use of our time".
SD. Again it could be trivial (if it reads files off a filesystem from a unix style device name or the underlying OS handles the reads then yeah) and it could be an absolute nightmare (it could be hardcoded with the 3ds cart read protocol at multiple points at game level), that said the GBA slot flash carts we had for the DS did the "absolute nightmare" part well enough when it happened to them.
In the end I will have to echo various others around the site and say "it is an early stage hack and one executed in hardware", such things typically cost a fair bit, are reasonably clunky and can be rendered obsolete at the drop of a hat. Finally/beyond that we seem to be on a modern device where the developers are taking security somewhat more seriously than they did in the past which could well change things again.
*typically four ways. First though the basic idea of a cheat
From
http://doc.kodewerx.org/hacking_nds.html
Type 0x00
32-bit
0XXXXXXX YYYYYYYY Writes word YYYYYYYY to [XXXXXXX+offset].
Various cheats will be encrypted by the device maker for various reasons but that is separate to the encryption I spoke of earlier.
The 0 part says it is a 32 bit write
The XXXXXXX part says what location to write the code to
The YYYYYYYY part says what to actually write to the location at all points in time (it holds the value and that value is typically your health/time/ammo/lives count).
That is your basic cheat, in actual code that the processor runs it is very easy to do and it also forms the basis for most cheats when it comes down to it. It might take hours of painstaking research to get to that point but what you tell it to do is easily said/encoded.
There are more exotic cheat types aimed at handling things like what if the memory is used by something else, what if I need to change my response to conditions and other things you learn about as you start getting beyond the basic cheats and that is where some difficulty in code could come versus holding a location static. This is also where it gets to be tricky if you are trying to convert cheats between devices as some of the later ones aim to have more functionality which the earlier ones lack and accordingly have better/more complex cheats.
1) Instruction level alterations. I fire my gun and I am down a bullet, this will be represented in code as a "sub" somewhere. Change this to an add, hold or nothing at all and I have infinite ammo. This needs an editable game but given such a thing it is easy enough. It is what was done by Cracker back on the DS in his trainer making guide/for his trainers and
http://gbatemp.net/threads/advance-wars-days-of-ruin-dark-conflict-language-mod.254868/#post-4191237
2) Internal hooking and alteration. This is what the likes of most cheat devices do. Here the cheat device injects a bit of code somewhere (usually the vblank section which runs 60 odd times a second) that always changes the value at a location into one you want. This is why (or at least one of the reasons why) you can also sometimes die if you have a "infinite health" cheat on which works fine in normal conditions, my favourite example of this is Goldeneye on the N64 where you can still die in some explosions as they remove that much health before the cheat device code has enough time to jump in. It is sometimes possible, though difficult, to hook without altering code and as such this may be viable where 1) is not.
3) Kernel/OS level. If you use a program like emuhaste or even certain hex editors to edit the memory of another program this is what you are doing. Typically not seen in the consoles where cheats are big as they are typically one program devices and do not run code in the background. If you can operate at this level then as long as you do not trip the anti piracy that a game might have (no idea if the 3ds has any yet) you can cheat all day long.
4) Flash carts. An oddity of sorts. On the face of it they resemble 2) and in some cases are exactly 2) but they can have aspects of 1) and 3) as well in the way they sometimes work and by virtue of them having a tiny bit of onboard processing power they can do some different things.
From here there are all sorts of edge cases and oddities (game genie, something which kind of returned for the DS and arguably the GBA before it after an absence) and more general hacking (a game might have a nice table of data that is not binary code, I edit this and I have a kind of cheat -- I find the sale prices for items in a game and change a worthless item to sell for the proverbial king's ransom and I have effectively infinite money from there on in). Many of the cheat making people are also some of the best hackers working on a lot of the devices too so it can get very odd too.