I noticed that usually after resizing a windows volume using Gparted Windows senses the changes and needs to do a chkdsk at boot. It seems like sometimes it has not noticed, but it is definitely very important to do this check.
About reinstalling instead of restoring grub... I don't find this more efficient or easy, but to each their own,
However, best of all, is to start with a clean disk, no partitions, run your Windows installer CD/DVD, use the fdisk or diskpart from the Windows installer to make a Windows partition(s), and leave some unpartitioned space after your Windows partition for the Linux partitioner to work with (Gparted or parted).