Posted elsewhere, but since it seems to be a common question, I'm posting it here. . .
I solved this issue as follows for FAT32 partitions (dynamic sized):
1) download the following freeware (google to find):
g4u - this is ghost for unix and will copy any FAT32 drive (OS neutral)
presizer - this will will resize the copied drive/partition to use the added space
2) create a new drive/image that is the size that you want
3) add the new drive/image to your VM or create a new VM that has both drives/images
4) boot the g4u cd image to copy the small drive/image to the large drive/image.
This takes a while.
5) boot from the presizer floppy image and run presizer on the larger drive/image. This adds the unused space to the parition, making it a copy of the smaller drive, only bigger.
6) arvhive the small .hdd file for safety and transition to the new larger .hdd. I change the names to transisition as I like my primary drive image file to have the same name as the VM.
That's it!. It's actually reasonably straight-forward and makes use of freely avaialbe tools. This is the same process that can be used on real PC's to transition from a smaller to a larger/newer hard drive and is OS neutral (the OS on the drive/image does not matter)