Try cleaning the heads. It sounds like the drive is almost operating properly, given that it asks you to format, fails, and successfully ejects. Here's how I do it:
Pull the disk drive out and take it apart enough to have access to the heads. Blow out any loose dust. Get one end of a cotton swab wet with high % rubbing alcohol. Gently clean both heads at the same time for a while WITHOUT lifting the the whole head mechanism. It appears spring loaded, but there is usually a sheet of metal that can bend permanently.
After cleaning the heads for a while, Immediately flip the cotton swab to the other end and use it to wipe the heads dry. I have found this to be a very important step. I guess it removes any residue that was dissolved in the alcohol.
It is also possible that the drive is not seating the disk completely, either because of an obstruction in your external drive case or because things are dirty (VERY common). You can test this by connecting only the cord to the disk drive, inserting a disk, and pulling backwards on the manual eject tab. It too can bend, so take care not to pull too hard.