OK I now understand your XP didn't boot with sda1 and the sda2 is in fact a recovery partition storing the system files.
Under the normal circumstance sda2, for being a Dos32 partition with Type c ID, should not boot because it is not "active" but your sda1 is.
To get into the heart of the matter I suggest you have a go to boot up the systems "manually". This is fun and you will learn a lot about booting too.
Suse does not permit manual booting because it uses a gfxmenu statement, which is the 5th line in your men.lst. You can edit /boot/grub/menu.lst by placing a "#" in front of it to disable the line like this
As recent Suse disallows a root log in with the GUI you can do it in terminal mode with statement like
sudo kwrite /boot/grub/menu.lst
The move will cause Grub to communicate with you directly. On a reboot you will see the see Grub menu but in text mode and pressing the "c" key will drop you into a Grub prompt. In a Grub prompt there is no PC system Grub cannot boot.
You can then proceed to fire up XP with the following commands
The first line will cause Grub to report to you the filing system it has found and that it can't understand the filing system of Type 0x07, as Grub cannot read a xp ntfs partition and that is normal.
The above differs from the menu.lst choice of booting sda1 by (1) No title statement is needed, (b) a makeactive statement inserted to make sure sda1 is active and (c) a "boot" statement is needed to manually every OS in Grub.
Thus the menu.lst contains all the booting instructions you need to boot every system if you do it manually.
Let us know how you get on with the above.
I also advise you to boot sda2 with the following instructions in a Grub prompt
To see if there is any difference from automatic booting.