Don't know if you've tried this, but maybe if you make one partition on one physical HDD for Win XP it will work? I read recently that Win XP has its own built-in HDD management that will try to place files strategically around the platters for accessing. By splitting up the main HDD into partitions (is that what you did?) then you screwed up poor XP's optimization plans.
Again, don't know if this will fix your problem(s) but I thought I'd give it a shot.