No kidding... I'm experiencing it first hand at the moment! I'll try the vista restore workaround I suggested myself on my laptop and see what happens.
Addendum:
Well here's the results:
1) I booted into XP and took away the letter assignment for the Vista partition
2) Created a test restore point in Vista
3) Went back into XP (Partition's letter assignment is still not present)
4) Went back to Vista to find that all restore points were gone!
I know from experience with working with EasyBCD and bcdedit that letter assignments are present for partitions even before booting when using Vista's bootmgr. This is because the device and partition properties are essential for creating working boot entries in Vista's BCD store. I am starting to think that it is because of this that XP is screwing up Vista's restore points. For example, consider the following:
XP - Drive C: (When booted in XP, D: elsewise on Vista)
Vista - Drive C: (When booted in Vista, D: elsewise on XP)
Because Vista is C:, but then made D: when XP is booted, XP well first find Vista's drive as C: since it thinks it has always been C: itself. Therefore, the reassigning of drive letters could be the reason.
In my situation, though I have no letter assignment for the Vista partition under XP, it is still not fixed because Vista's bootmgr is still first loaded and makes Vista's parition the C: drive until I pass control over to XP.
But then, you also haft to consider why this is occurring in the first place. For instance, any Vista install by default well use C: for its letter assignment (at least while its booted). Previous versions of Windows could care less. In a dual-booted system, if you were to install 2000 Pro to drive C: and XP to drive D:, they would be the same from either operating system. Unless you change the drive letter assignment for Vista's partition in Vista, bootmgr and Vista itself well always assign the Vista parition drive C:.
Because GRUB doesn't use drive letters in it's boot entries, it may be possible to use it in a workaround as the primary bootloader and avoid the whole issue of Vista's parition being C: prior to passing control to XP. (I'll haft to try this later

)
Just some food for thought I suppose. I think i'll change the drive letters up a bit in Vista and see if I get different results.