I think I know your problem and if I'm correct it is quite common and I believe has an easy solution. From my understanding you have a two drive setup where one is IDE and the other is SATA. I have a couple of questions?
Which bootloader are you using?
Which drive is the bootloader installed on?
If the bootloader is on the SATA drive and you are using grub then the solution to your problem will require adding a few lines to your grub.conf file. The reason why it won't work is because windows won't boot unless it is on the primary hard drive. The lines that you add to the configuration file will change the drive mapping so that the windows drive thinks it's the primary hard drive in your configuration.
SOLUTION:
This is an example grub.conf file and the text in
bold is what you may have to add.
NOTE YOU MAY HAVE TO CHANGE THE CONFIGURATION FOR YOUR SETUP.
Code:
# Which listing to boot as default. 0 is the first, 1 the second etc.
default 0
# How many seconds to wait before the default listing is booted.
timeout 30
# Nice, fat splash-image to spice things up :)
# Comment out if you don't have a graphics card installed
splashimage=(hd0,0)/boot/grub/splash.xpm.gz
title=Gentoo Linux 2.6.12-r10
# Partition where the kernel image (or operating system) is located
root (hd0,0)
kernel /boot/kernel-2.6.12-gentoo-r10 root=/dev/hda3
# The next four lines are only if you dualboot with a Windows system.
# In this case, Windows is hosted on /dev/hda6.
title=Windows XP
map (hd0) (hd1)
map (hd1) (hd0)
rootnoverify (hd0,5)
makeactive
chainloader +1
I apologize ahead of time if the configuration above is incorrect. I'm not at my linux machine at the moment. This should help you though. Make sure you backup your grub.conf file and tweak the settings until it works.
If The bootloader is installed on the windows drive then we are going to need some more information.
Hope this helps!