I have a similar problem. First, I fix computers for a local school and they gave a bunch of old machines. I got a old hard drive, 1.2 GB, about 4 years old, in one of these machines. So I used it in one of my spare machines for about 3 months and it was fine. Then I stopped using it for about 2 weeks and it never could find the hard drive. I tried bios tricks, hex editing the boot sector, component testing the drive controller and bus interface on the drive, and everything was fine. Then I took a look at my records for some of the work I did at the school. I fixed and replaced a hard drive after it was gutted by a virus. This virus was called "Stoned Monkey", and it has a few flavours. It was a boot sector virus and it sometimes infect a primary or secondary drive during POST and hard drive init during boot up. So this was the drive I replaced, the new drive, and after a few years, it still had the virus on it that was transferred from the old machine when I copied over some files.
One thing that got it working a few times was changing certain values in the bios. Now each bios is different in how it enumerates drives so sometimes this won't work ever, but changing some values like the "Block Mode" setting can sometimes get it going. Using "Auto" can stop it from working but LBA definately stops it working. Why? Well I don't know. Block mode transfer can stop it from working, but you generally get messages or something. I get nothing. I can start the machine, and it will do POST and then go to the device listings(Award BIOS. Has two screens, PNP and Drive info and then a new screen that has the other resources displayed) and then the floppy drive will drive for about 20 seconds and stop(If it is in the drive of course!) or if it just has a hard drive, nothing. It should say "Starting Windows 98..." or whatever I am using on my c: drive or floppy. But I get a blinking cursor and that is all. If I insert a bootable cd(Windows ME is one of them), it will boot to the CD boot menu. If you get access to DOS then you can access c: but you just can't boot.
But, even after formatting the drive, at least 6 times, with low level formatting and taking about 20 hours for a 10 pass all zero format, the virus has popped up again. I had the drive in my machine for about 3 minutes today, which is about a year later, and my other(current drive) is now not being picked up, even though I was using it for 6 months and no errors ever. So if you do have a drive that is doing that, it could be a virus, it could remanants of a past infection, it could be a setting in your bios(you can sometimes change some BIOS settings from Windows but only using specific tools eg. direct drive access tools.), or you just have a plain old drive failure and you need to replace it. Strange.