Actually qtparted can resize NTFS partitions (ala ntfsresize) and I have used it successfully for this in the past. I have had a couple of times where I tried to use it and it didn't work though so it's not the best tool for such a task. There is a magical graphical utility called BootitNG that can resize and move partitions very nicely. It's not Free software but you can download the full version on a trial period (it's not crippled, the trial period is on the honor system):
http://www.bootitng.com/bootitng.html
It will install itself entirely on a floppy (or CD if you prefer) which will be bootable. One hint, when you boot it press "CANCEL" when it asks if you want to install it. You don't want to install the boot manager, you just want to use the partition tool which will be available after you press CANCEL.
I have never run into an nightmare problem because of the different disk geometries but I do have an issue relating to it on my new laptop. From VMware running on the Linux side I couldn't boot the Win side using the raw disk until I added the old geometry to the kernel params in the grub.conf. I booted a 2.4 kernel to get the needed disk geometry. That's all there was to it though, didn't have to make any other changes or reformat anything, just add the geometry as a boot parameter.
NOTE: I don't actually use the Win side, I just boot it once a day in VMware while at work so SMS can push viruses, er I mean "updates", to it and everyone will be happy. :)