Older consles like the GBA used actual ROM chips in their official cartridges. Data on these are directly addressable by the system, it's almost as good as all data being in RAM (fast).
SD cards are NAND flash, which must be paged into RAM then accessed.
Official cartridges on newer consoles like DS use more modern forms of storage that is first paged into memory then used. Games on newer consoles are designed to work this way (for one thing the consoles have enough RAM for it to be possible), games on old consoles expect the data to be directly addressable like it is on the official carts.
Becuase of this, a DS flash cart does not require a lot of components, the data is read off the microSD as needed, translated or whatever needs to happen and passed to the console.
Flash carts for older systems (the EZ-Flash, or any of
krikzz's carts etc) must make the ROM data accessible in the same way as the original carts do. This means they need to load the ROM from SD card into either RAM or NOR flash (within the flash cart) before it can be run.
That makes the carts more expensive. There's also economies of scale: DS carts are poduced in massive numbers and there is a lot of demand. GBA carts are more of a niche market so both cost more to produce and sell less so the manufacturer needs a larger margin.
I just paid $200 for a
64drive (Nintendo 64 flash cart), but dammit it's worth it.