I gather you've been told before to upgrade your BIOS. If so, there's a good reason for that.
GRUB is an operating system loader, not part of the OS itself. As such it works outside the OS, relying on the BIOS to function. Until fairly recently, BIOSes could not access anything above the 1023rd cylinder. Thus, GRUB cannot access those cylinders. *NO* bootloader can access those cylinders, which means you couldn't put the Windoze kernel up there either. This is not a Linux problem.
There are ways around this, but none of them are friendly to the way you have your system set up already. That is, you're going to have to do some rather intricate reconfiguring to get it all to work the way you want, reinstall Linux, and go from there. I have done this, but I won't do it again because it's annoying and stressful if you have data you're afraid might die, and I do not feel confident enough in my ability to explain it to try. You'd hose your system, and it would be my fault, dogs and cats would start getting married, and it just wouldn't be a good thing. I'll just say that it basically boils down to resizing your paritions so that you have room to mount /boot within the first 1024 cylinders. If the space Windoze uses is low enough, you could resize it so that it all exists within the first 1024 cylinders and mount /boot at the end. If Windoze is using too much space, you need to move it so that you can create a partition to mount /boot at the beginning of the drive.
Ah, hell ... there's gotta be a HOWTO on this ... virtual pause ...
http://www.geocities.com/epark/linux/grub-w2k-HOWTO.htmlIf you feel brave, try that.
All this said, heed hobbit's advice when and if you can. If you must use a single hard drive, consider backing up all your data and reinstalling everything, setting up your partitions with the intent of running a multi-boot system and allowing GRUB to handle the bootloader duties for the entire system. Be aware if you do this that Windoze doesn't work and play well with others and will overwrite the MBR every time you do something that updates the operating system, which means you'd have to keep a floppy with the MBR on it to restore when this happens. Linux doesn't have this problem. According to that HOWTO, some virus scanners don't like the MBR being occupied by something other than a Windoze product, but I've never run into that.