a lot of times when a USB drive fails, it's not a bad sector in the drive, but actually a problem with the interface. if you 'bend' the drive a bit you can get it to hit whatever connections are missing and get your data off of it.
following that, throw the drive away and go buy a new one. a gig will set you back about $20 at this point, and the data security of using a non-faulty drive will be worth it.
-RuskiFace the Pirate