My secondary hard drive is detected in the bios but not in windows XP, it was working a few weeks ago, and does work in my other computer with the same sata cable and sometimes windows does detect it (safely remove hardware) but it goes away within minutes. Hard drives work, cables good, new install of windows xp, bios detects it. Tried two different sata hard drives both work on other computer but not on this one.
One odd possibility comes from the change in SATA speeds. Is the computer that cannot use those SATA drives an older one, perhaps? Almost all SATA drives coming out are SATA II that can work at higher speeds than the original SATA spec. Some of these drives can figure this out and slow down when plugged into an older machine with an original SATA controller. But some cannot figure it out, and the controller cannot communicate with the SATA II device that is trying to "talk faster". For this purpose most SATA II drive makers have a way to force the drive to slow down to the earlier speed standard. Seagate uses a jumper that usually is installed to force the slower speed by default; users who know their controller runs at SATA II speeds just remove the jumper. Others may do this differently - at least one drive I saw made the change via software downloadable for free from the manufacturer's website.