Great news...kind of!
By changing round the boot order in the BIOS I can now boot either Ubuntu or Windows. Neither OS boot loader will boot the other however. I have tried re-running the dd command on /dev/hdb:
dd if=/dev/hdb of=./ubuntu.bin bs=512 count=1
and placing the output file in the windows root. It still hangs on "Grub _". I am about to try the command again setting if=/dev/hdb5.
Within Grub, I get the choice for my XP install on hd0 but it hangs on "starting up", just after the OS selection. My menu.lst for my XP install looks like this:
# This entry automatically added by the Debian installer for a non-linux OS
# on /dev/hda1
title Microsoft Windows XP Professional
Any ideas on the final parts - I dont really mind which way I get the dual boot working - as long as it works without me having to change my BIOS settings!