Here's my take on this: I have an r4 already and that gives me near perfect ds emulation. I was thinking of getting an m3perfect and pairing it with my r4 but that thing costs some money. Then I found out about the ez 3in1 expansion. Very very cheap and works just like a slot 2 card, except it doesn't have any slot for memory cards. Instead it uses the microsd connected to your slot1 card (my r4). Slot2 cards have their own slot for memory, so having a slot2 card paired with a slot1 means you will need a separate sd card for both carts (more memory).
Another problem (not sure about this, people correct me if I'm wrong) is that it can only hold 1gba game at a time. You need to run an application on your r4 to access the gba roms placed on the r4 microsd, then choose what you want to play. The app will flash (or copy) the game chosen into the 3in1 expansion card's internal memory, w/c as said earlier can only hold one game. It then stays on the 3in1's memory, making it act like a real gba cart. If you wanted to play another game, you have to run the app again in your r4 to reflash/recopy a new gba executable (gba game, gba homebrew, emulator, etc) into the 3in1's internal memory, deleting the previous game. Flashing can take a couple of seconds depending on the size of the gba game you are copying over. With slot2 cards, you just need to copy the gba games you want into the slot2's sd card and run them off from there. Execution is a bit faster but I still prefer the 3in1 expansion due to costs. Again, Im not really sure if that's how the expansion pack works because I just ordered mine yesterday, I just read some reviews about it.