Why does a 256Mb (32MB) EFA cart cost so much more than a 32MB flash drive?
Completely different technology. The memory in Flash drives is inexpensive NAND memory. The memory in GBA flash cartridges, such as the EFA, is much more expensive NOR memory. NOR memory is extremely fast for reading (and relatively slow for writing). The GBA has very little RAM and therefore runs code directly from the cartridge, requiring very fast memory on the cartridge. NAND memory is not nearly fast enough for the GBA. Also adding to the cost are other features required to support all GBA games properly, such as a real time clock, battery backed up SRAM that holds all game saves, and ability to emulate all GBA cartridge game save types.