From what I can tell, all cards that are not broken will work with the v2 firmware. But be sure to use a card-reader. Buy a decent USB 2.0 multi-card reader, it's worth it. If you use a card > 1gb and connect it to your computer via the GP2X, e.i: Card>GP2X>Cable>Computer, you'll probably get a bunch of issues, like it'll tell you you need to format your card, and when you do... It'll be formatted as 1gb, not what it actually is. If getting a card reader is going to be a problem for you, then I suppose 1gb is your "safe" option. But I use 4GB, I once had an issue when I inserted it into an old card reader in a friend's laptop, it didn't show up at all. But I don't know... Maybe my friend just had a broken reader, or old ones don't like larger cards.... Formatting a card is not a hard thing to do! If you're given the choice of a pre-formated and non-formatted card, and the non-formatted one is cheaper and of the same capacity.... I'd go for it. Even if you get a pre-formatted one, it's possible your card could become corrupt and need re-formatting through every-day stupid activities, even something as lame as your USB cable falling out when you're writing data to the card, or your batteries failing in the middle of writing a saved state in an emulator, could corrupt the card's filesystem. So if anything, with an un-formatted card, you get the practice of formatting before-hand.....
Note: if your card becomes corrupt and it has something on it actually worth saving, then you could always give scan-disk a shot on the card. FAT32, as far as I know, keeps a spare copy of its file allocation table. This is mostly a guess: The action is carried out, and the primary table is modified before or after or when the action is carried out. Once the action (copy, delete, etc) has successfully finished, the scondry table is updated. I've been able to save an old FAT32 HDD from corruption by using scan disk to copy the secondary table data over to the primary table. It gives you the option to do this if it detects an error in the primary table. However, it may mean the file that was last edited will be damaged in some way, but atleast the rest of the system will be restored to stability. This is usually slower than re-formatting, as scandisk can take a long time, especially if you've got a slow card. Hell, I'm not even sure if it'll work on an SD card.... In which case, try the recover command or whatever it is called in Command Prompt, that's saved my ass once before, too.