The partition XP boots from probably requires the boot flag regardless of which boot code is used to reach it. If you have some reason to want it not set that way all the time in the partition table, Grub can be configured to set the boot flag for XP when transferring control to XP.
MS MBR code requires the boot flag on the partition containing the main boot code (the code that displays the multi-boot menu and accepts the user's choice).
Linux MBR code does not require the boot flag nor care whether it is set nor which partition it might be set on.
Linux itself also does not care about the boot flag.
It is possible (but less common) to use the Windows boot code to display the multi-boot menu and transfer to either Windows or Linux. In that case you must set the boot flag for Windows.
It is more common to use Grub for the multi-boot menu, in which case it is still easiest to set the boot flag on the Windows partition. But if you wanted to avoid that, there are ways to do so.
Last edited by johnsfine; 02-16-2011 at 11:44 AM.