Well, I own an EZ Flash 3 in 1, but that's really a DS slot-2 card more than an GBA card (you need a slot-1 DS flashcart to use it). But it's brilliant for playing GBA games though.
I have an old M3 "movie player" that I can pop in an SD card in for GBA games in a GBA/SP or NDS slot 2 (without anything in Slot 1). I also have a XROM but its limited to 512mb (megabits) and the transfer is slow as hell works in GBA/SP but not sure about NDS and I am not going to bother with it as its not worth the effort.
For a standalone GBA Flashcart? Then I would suggest the EZ Flash IV. You have to patch every damn rom, but it plays about 98% of all GBA roms. And if you have an NDS Phat or Lite, then you can flash it and you can play the first couple of thousand DS games on it. It hasn't been updated since last year, so I don't know what is available to play.
Yes. On the DS Phat or Lite. You can flash it with FlashMe in order to boot it into NDS mode to play really old roms on it. But be careful, you can brick your card at times where it'll boot into NDS mode, but won't do anything. That's an easy fix since all you have to do is reflash the EZ IV firmware back onto it.