USB sticks not properly dismounted?

I had a generic question - OpenSuSE seems to have some trouble if a USB memory stick isn’t properly dismounted (either from Windoz or SuSE). When you plug it in the next time it generally throws a “bad superblock or wrong FS” error. The easiest fix I’ve found (since I’m not a command line type) is to plug it into a windows box and properly dismount it… then it works fine under OpenSuSE. Here’s my question - does OpenSuSE not mount it so that you can run “fsck” to fix the drive, since fsck requires the drive to be unmounted? If so, what’s the best command to fix? This happens under FAT or FAT32, and I think also with NTFS, but I know fsck* can fix all of these. Thanks!
:OPattirotfl!

Even if fsck can fix the problems to a great extent, you may still lose data if you just pull out the USB stick without unmounting it. It can have data still not flushed to it from memory.