Disk Utilities can possibly do this for you but I've used iPartition because rather than simply saying that it can't change the partition size it will move files that are "in the way" so that you can still resize the partition.
After doing this the Mac booted fine, BootCamp booting Windows 7 booted fine but I am not sure if Windows XP would have any issues or not. I did have to setup Parallels (version 6, have not tried with verso 7 yet) again to use the BootCamp partition because this change seemed to confuse Parallels - which complained that it could not find the operating system.
I did not lose anything by setting up Parallels again, but I did have to call Microsoft to register my installation again.