Pokemon is probably not a suitable candidate because it checks corrupt pokemon every time you save and will turn them into bad eggs. I have no idea how XN works either, but I'm guessing it blocks buffer overflows very well.
I think you a talking about NX (No eXecute). It is a flag in the pages of all the usable memory (I don't know what the adressable memory layout of the 3DS looks like). If it is set, nothing in this page can be executed. It is supposed to be set to every page that does not contain code, so you can't inject any code into game data in RAM to execute it. As far as I know NX is implemented on the 3DS in hardware in the CPU, so you can't simply disable the NX check.
So what it does is not preventing buffer overflows (there exist other mechanism for that, not sure if the 3DS has any of them implemented), but it makes them pretty useless because you can't anything usefull with them if the NX flag is set correctly. And at the moment it looks like there are no holes in the 3DS NX implementation and usage, at least nothing that is public knowledge and very probably nothing that is easily usable.
To demonstrate what I mean by "it makes buffer overflows useless", let me tell you how buffer overflows and exploits were used in stuff like the first XBox and PCs before the introduction of NX were used: normally you would put the code you want to run somewhere into RAM, either by an exploit or by writing it over some hardware interface or something like that. Then you trigger your buffer overflow, hopefully jumping to the memory address where you code is. And then the code will be executed. If you can't jump that precisely you fill up the part of the RAM between the range where you can jump to and you code with instructions that lets the system read the next part of memory. Again and again until it reaches your code.
Since the introduction of NX it is not that easy any more because most of the memory is not executable, so you can't put code there. And it seems the executable part is pretty well guarded and checked before execution.
I hope I could shed some light on that stuff and my explanation is actually understandable. If anything is unclear, feel free to ask. Bear in mind that it was pretty general, partly because I don't know the details of the 3DS and I don't have any practical experience with hacking stuff. I just like to read about it, i.e. that one article about hacking the first XBox.