Some motherboards which have both IDE and SATA controllers, and of certin vintage, cannot boot from the SATA drive. My own PC is like that. I put my OS stuff in different partitions on the on the IDE and use the new and bigger SATA drive for my data.
Generally, during booting the BIOS (after it has done its stuff) will try to pass control to code in the first sector of the HD it has been told to.
I wonder why your IDE HD is set up as slave? Some IDE drives have a jumper option fo something like auto or "Cable select" - don't use it, select "Primary" or "Slave" positively.
This first sector of a HD is its Master Boot Record (MBR), or the start of it. In a Windows box the MBR contains the Windows boot manager. Older Windows boot managers could give a menu choice of DOS or Windows, but I don't know about modern Windows. In a Linux box the MBR contains GRUB or Smart Boot Manager (Lilo if older). Any of these boot managers will point to the start of a disk partition (the Boot Sector of that partition) where there is a boot loader to start an operating system, except that the Windows boot manager will refuse to point to a Linux partition, and GRUB and Lilo also act as the Linux loader.
I recommend Smart Boot Manager (
http://sourceforge.net/projects/btmgr/). Installing it will place itself (reversibly) in the MBR and it will then search for any bootable OS's (actually their loaders) in the partitions and place them in its menu. You will still need the Linux and Windows loaders (GRUB for Linux) in their partions' boot sectors though.
It sounds in your case as if a boot menu has never been set up in Grub. What does your /boot/grub/menu.lst look like, from the uncommented line starting "title ..."?