If I get this right, the BIOS can see and use the optical drive connected to the SATA_0 port, but is never even sees any hard drive connected to another SATA port. All this is completely independent of Windows. If that is correct, sounds like you have a hardware problem.
1. I assume you already know that the hard drives you are trying to use work OK in another machine.
2. A test for a port problem. Disconnect the SATA data cable at the optical disk, and plug that into the hard drive, then try to boot into BIOS. With a known-good SATA_0 port and cable, does it detect the hard drive now? If yes, that confirms the drive is OK, and the problem is a port or cable issue.
3. Replace that data cable with the one you originally were using on the hard drive. Same test. Now, did the drive disappear? Then you know you have a bad cable. If it did NOT disappear, suspicion is on the other SATA port you were trying to use for the hard drive.
4. Reconnect almost as originally: Optical drive, with its original data cable, on SATA_0 port, hard drive with a known-good data cable on the SATA port you originally tried. If the drive still is not detected, the SATA port is bad OR is mis-configured. Try connecting to another port, or changing something about the first port's settings in BIOS.
I'm also intrigued with your statement that the Boot Priority is set to use optical first and HDD next, yet it will NOT boot from a bootable Vista or XP Install disk in that optical drive. At the very least I would expect it to boot and run from the Install disk before giving you a message that it failed to find a hard drive to use. Even if XP Install failed to boot because the optical is being used as a true SATA device (XP has no driver for this), Vista Install DOES have SATA drivers and should be able to boot and run.