I'm not sure why you use fat=12 in your options to mount, but it's usually unnecessary because mount will probe for the correct parameters. Also, I always use msdos as the filesystem type because that's actually what my camera formats the card as.
I've noticed that with my USB Compact Flash card reader, I need to try a couple of times because the USB timeout is too low and the device doesn't respond in a reasonable amount of time. There is an option you an give to the kernel that will allow you to give USB a long time out, but that requires a recompile of the kernel (even with this option turned on, the device is still too slow).
Another problem may be your /dev directory. Depending on whether RH starts up with devfs enabled or not (anyone?), you may have to make /dev/sda and /dev/sda1. If devfs is not enabled, you'll have to do something like the following (assuming the special files don't already exist; ls -l /dev/sda*):
mknod /dev/sda b 8 0
mknod /dev/sda1 b 8 1
However, if devfs is enabled, this is unnecessary and the files will disappear on the next boot.