I had this issue a while back and found a great free solution. Use winclone software (free download, just google it) to back up your windows partition, then delete the partition and make a new one of the size you want. Finally, restore your backed-up copy to the new partition and it should run without any reinstalling or anything. I'm sure this has been written in more detail on these forums before, just search for more info if needed
+1 on WinClone. It's worked perfectly for me many times over the last few months, both for moving and resizing. Note: for it to resize, the old partition needs to be formatted NTFS. If it isn't, you can convert it while in Windows.
Here are the steps I use:
With the old drive mounted, use WinClone to create an image file of the old BC Partition.
Next, use the Apple Boot Camp Assistant to create a new BC partition on the new drive. It needs to be the same size or larger than the old, but larger only works if you had formatted the BC partition as NTFS. Actually, it will work with FAT32, but you won't have access to the additional space.
Finally, use WinClone to restore the image file to the new drive's new BC partition. If you had created a new, larger partition AND it was NTFS format, WinClone will expand the old partition to the new BC partition size.