It souds to me that you have a file somewhere that has no file end mark and is swallowing up a lot of space. Run scandisk to see if that solves your problem. Another cause could be that Windows has cornered too much of the drive for its swap files. I don't know XP so can't explain how to do this
Frankly, I don't like massive virtual drives, especially where the OS is concerned. Its bound to slow down the overall performance and, as you can see, swallows up loads of space if let loose. I always allow no more than 2 GB for the OS, including all the hardware drivers, but I then put ALL my software onto a separate virtual drive. Where possible I would also recommend that this was on a second physical drive to speed up the system even more.