Flash cards are awesome. A little expensive, but well worth the money. You don't even have to open the GBA.
Some info from a reply I gave in another forum:
I think the confusion about the flash carts is that they are measured in Mb (not MB). To get the MB size of a flash cart, divide the Mb size by 8. For example, my 256 Mb cart holds 32 MB of roms. (Windows will report file sizes in MB.)
GBA roms can be 4 MB, 8 MB or 16 MB. There will most likely be 32 MB roms in the future. The roms on the cart can be different sizes. Also, they do not need to be one of the standard sizes. For example, the PocketNES emulator for GBA can be different sizes depending how many NES roms are built into it. I have a few different PocketNES compilations that range in size from 6 MB - 15 MB.
You need to think of the card as having a # of 4 MB "banks" of memory. A 4 MB rom takes up 1 bank, an 8 MB rom takes up 2 banks and a 16 MB rom takes up 4 banks.
Since the minimum GBA rom size is 4 MB, any free space less than 4 MB cannot be used with a commercial GBA rom. You may be able to put a partial rom file in that space but it will most likely crash while playing.
But, I think, you can create your own games/homebrew-programs/roms that can be smaller than 4 MB and run fine on the newer flash carts that support small files.