i would avoid high-capacity sticks (>= 4gb) if at all possible… these things have their own little microcontroller, and they play stupid tricks. i have been using a 2GB sd card for years now with no trouble. (it shipped with my nintendo Wii, hah.)
and yes, i agree: it is silly that the pace of technological improvement outstrips our ability to use that technology… in a DIY-friendly capacity.
if anyone knows of an open-source, ANSI-C library that can deal with bigger FAT32 drives… i am all ears.
EDIT: pff, sorry, i realize that you are talking about mass-storage usb devices on the host port, and using the atmel framework’s MSC and FAT classes. so the answer, if any, lies there…
… and indeed, looks like this is the same old FAT service header from 2009. this guy doesn’t like high capacity devices either. [ https://github.com/tehn/mod/blob/master/xdk-asf-3.17.0/avr32/services/fs/fat/fat.h#L169 ]