I had a drive in a laptop go, and I thought all of my data was gone. My backups to DVD as it turned out could not be read. As a last ditch effort, I stood the laptop up on end, like an open book. Having the axis of the drive reoriented from horizontal to vertical was enough for this drive to boot and allow me to transfer my data to a new drive - a huge relief to say the least.
You could play around with doing this, if you have a laptop or can otherwise change the orientation of the drive.
From what you are saying, it sounds like it could be a bad or loose electrical connection as well, though the drive itself seems like the easiest thing to check by swapping it out.