Regarding filesystems, there are some reasons why ext3 and others aren't in use. The cells within flash memory have a finite lifetime in that their state (1 or 0) can be changed only so many times. This is what the write lifetime rating of all flash media refers to. File systems not designed for flash tend to update bits here and there with metadata, and often this metadata lives in a persistent area of the media so some cells are getting written to proportionally more than others.
There are file systems designed with these limits of flash media in mind such as flashfs, but these haven't been widely adopted as support for them in mainstream OSes is scant, and I have yet to see a camera that knows anything other than FAT (FAT16 or FAT32.)
So it's a chicken or egg problem. OSes don't support it because there are no devices out there that use it, and no devices use something like flashfs because none of the mainstream OSes support it.
There are some other subtle technicalities... FAT is dead simple to implement as it's a really basic file system. REALY basic, so its requirements on the underlying hardware are very small... something that those little in-camera processors and accompanying DRAM can handle.
/dale