Once you're in Linux, edit /etc/lilo.conf so that boot= points to /dev/hda5 instead of /dev/hda. Then run lilo. Note that it will still break if you move /dev/hda5 at all. Perhaps you could investigate [link|http://www.gnu.org/software/grub/|GRUB] which doesn't have this problem.
Then you will have to find a way for BootMagic to re-write the MBR the way it wants.
Wade.