Yeah, M3's have a notoriously low compatibility for GBA games and homebrew. The R4 is even worse with it, though. The problem has to do with the firmware and the way the system loads ROM headers for commercial game compatibility, since they use clean ROM dumps that don't require patching. The cards that have the best homebrew support are the ones that don't play clean ROM dumps, such as the Supercard CF/SD Slot-2, the CycloDS-SD Slot-2, or even the MMD using a homebrew launcher like Channels and either FlashMe or Chism's alternate DS Firmware. In short, most other Slot-2 devices
I likes your DS hahks. They makes me happy in the pants.
My current set-up:
DS Fat, firmware ver. ?
FlashMe "Stealth" (normal health + safety, boots from Slot-2 in DS mode to remove the need for a NoPass and extend battery life)
CycloDS-SD, running Supercard firmware 2.65 (no auto DLDI patching - I'll explain below)
MiniVMac, 4MB version
GeosDS B+W mode (doesn't support virtual disks, so pretty much useless)
Bunjalloo
DSOrganize (see problems below)
Moonshell (it's actually on my MMD, but whatever)
NesDS
NethackDS
DSCompress (gzip compression/decompression tool)
DLDI (allowing me to patch programs using my DS, bypassing the need for a PC)
some commercial games
Since the old Cyclo products are just rip-offs of Supercards, they can use the Supercard firmware to improve commercial DS/GBA compatibility. This works because the Cyclo reads the same headers off of commercial games that are created when you patch a ROM with the Supercard "magic" patcher. The other cool thing about the Supercard firmware is that if you AREN'T using it for commercial games, you can have it boot a default file if you rename it to BOOT_SC.nds or something like that.
However, the Cyclo doesn't support the Supercard's DLDI. Though I have the Cyclo DLDI patch on the root of my card, I was still running into some problems with homebrew that auto-patched. I think it's Supercard's way of trying to fuck over "fake Supercard" manufacturers. That just means that while I can run DS-Organize, I can't actually open programs from it. Fuck that, anyway. Bunjalloo supports caching and runs faster than Shaun's browser, and DS-Organize has this really bad problem with libfat always getting corrupted. I do like to use it for the homebrew database, though, especially with the ability to use custom databases.
It's also kinda funny, but the SC firmware boots all unfamiliar file extensions in GBA mode (.nes, .src, .srm, etc, etc), and you can actually create custom firmware for it if you save it as a .bin (which is the same way Cyclo created their slot-2 firmware)
I'm still having problems with my shoulder buttons being really inconsistent on my DS. I'm not really that great with electronics, so I'm not sure if I can just clean the contacts or if I'm going to have to strip wires or what, but do you think it's really worth it? I might just try to find a DS Lite, or switch over to the GP2X once the price drops a bit.