If you still experience problems related to your setup or a specific configuration which you would rather have, look into:
http://afuse.sourceforge.net/
It is an automounter that uses FUSE, Filesystems in USErspace.
This might be slightly more flexible than what I see you having had setup above.
Also, you might look at: man mount
There are options there which will allow mount to tolerate sloppy mount options, instead of fail mounting the device completely. Now this doesn't mean that you can specify the wrong filesystem type and it will still mount it. I will have to assume the SD card has an NTFS partition and the USB device has FAT32 partition. The differences between these filesystems are much, so other than afuse I can only suggest using options for BOTH, filesystems such as NTFS mount options like uid and gid, and for vfat.
The option specifically is -s, have a look:
Code:
-s Tolerate sloppy mount options rather than failing. This will
ignore mount options not supported by a filesystem type. Not all
filesystems support this option. This option exists for support
of the Linux autofs-based automounter.
This allows for specifying mount options for several filesystem types, but you must use auto in the filesystem type field so mount can check the superblock magic for which filesystem type it is.
Now understand Linux is flexible, the fstab is not the only way you can mount yoru filesystems. If you wanted to, you could write a very simple script to loop through different options for filesystems and filesystem types executing the script from rc.local which is in /etc/rc.d