This is more like a workaround, not a fix, but if you can get inside linux, install smart boot manager. It will build a boot floppy that is, very likely, able to boot your windows.
And post here your menu.lst from grub, so we can have a look at your configs.
http://btmgr.sourceforge.net/3.7/