The problem is that on XP, it looks like Microsoft simply ignores your setting.
From The Registry Keys and Values for the System Restore Utility for XP :
This value relates to the percentage
of disk space that System Restore uses
for its data store. The default value
is 12 percent. The data store size
is always calculated as "max(12
percent, DSMax)," regardless of the
size of the hard disk.
This value specifies the maximum size
for the System Restore data store. The
default size of the data store is 400
MB. The data store size is always
calculated as "max(12 percent,
DSMax)," regardless of the size of the
However, the 25 GB you freed on a 40 GB disk is 62,5% rather than 12%. This means that the whole algorithm is non-functional, so there are actually no real limits. One hopes that this was corrected in later versions of Windows. However, such a malfunction can easily pass unnoticed, since Windows is supposed to automatically liberate this space if required.