After spending more time tinkering, I think I've figured out some things.
As discussed and learned, I can't have more than four primary partitions. This drive has a 86.3MB partition, 15GB partition (Ubuntu), 90.82GB partition (WinXP), and a "media direct" that's 2.5GB; along with a 357GB unallocated (the unused portion of the new hard drive).
The issue I'm experiencing: I need to delete the 2.5GB partition to give me a free partition to expand the Ubuntu and WinXP, however, when I do this, I get a .dll error when I try starting WinXP. I know this because I deleted the partition and then went to boot XP without doing anything else. If I don't delete the partition, I can run 'check' (I'm using system recovery off a thumbdrive), whereas if I delete the 2.5GB partition first, I get an error when trying to run 'check'.
Now the issue is: The order of partitions is the 86MB, WinXP, Ubuntu, the 2.5GB partition, and the 357GB unused (see attached). It will not allow me to expand the Ubuntu partition into the 357GB unallocated because the 2.5GB is in the way. If I delete the 2.5GB partition, then I can expand Ubuntu (and move it towards the end leaving the proceeding section open to moving XP), but, if I delete the 2.5GB, then it causes the XP partition to give me an error when I try expanding it into the 357GB section (and no longer boot or allow System Recovery to do a 'check').
I don't know why deleting a 2.5GB partition affects XP with both trying to move the partition and booting XP, but it does.
My question is: how do I get around this issue?
I tried allocating the 357GB partition and rebooting System Rescue thinking it will change the drive order allowing me to move Ubuntu and XP, but it didn't work.