Another option would be to save current mbr, and replace it afterwards, and/or making it available to the windows boot loader.
Use this option at your own risk, as its untested, and written from memory:
(on misuse, or fault usage, you 'risk' to loose all data of your hdd's.)
, windows bootloader:
1) save the current mbr with:
dd if=/dev/sda of=/home/$USER/mbr.bin bs=512 count=1
2) copy ~/mbr.bin to an usb stick, flashcard, or where ever you have access to without booting linux.
3) install windows
4) copy mbr.bin to c:
/ (or where your boot.ini (hidden) is located).
5) get write access of c:\boot.ini
6) add the line (remember untested, from memory) to c:/boot.ini
, linux boot loader:
Steps 1-3 from above
4) boot from linux live cd/usb
5) save windows mbr with
dd if=/dev/sda of=/boot/winmbr.bin bs=512 count=1
6) over write current mbr with linux mbr:
dd if=/path/to/USBstick/mbr.bin of=/dev/sda bs=512 count=1
7) edit /boot/grub/grub.conf or /boot/grub/menu.lst and add the lins:
8) reboot and havea look if it works, if not, write back the windows mbr
dd if=/boot/winmbr.bin of=/dev/sda bs=512 count=1
and try option a.