"....Vista sees the IDE drive as the E drive and the first SATA drive (where Vista is installed) as the C drive, but XP sees the IDE drive (where XP is installed) as the C drive and the SATA drive as the E drive."
AFAIK, the above is more like the norm .... the drive letter C: is supposed to be set aside for the prevailing system drive or partition. The other thing you seem to have overlooked, is the master boot record (MBR) routine.
When you added the cannibalized IDE & decided to install XP on it, the boot record for Vista was automatically invalidated, this is because XP simply overwrote the MBR entry on the SATA, making the IDE drive at that point the prevailing system disk. To avoid this in the future, you need to ensure that you install the OS in the order of release -- old first, newer last. You can't blame XP for overwriting the existing (Vista) MBR because it is unaware of what it is & how to accommodate it.
Vista's MBR on the other hand, would have had no problem with XP had the install routine been the other way round, because the OS is aware of XP's MBR & knows how to modify its MBR to reflect XP, so both OS' can be booted from subsequently.
Have you made any progress since your original post? Are you still unable to boot from either OS'?