Sorry to dig up an old thread, but I came across this one when I did a search for just this same question.
Shrinking a drive does not defrag it. You have to defrag it separately. VMware does not have a GUI tool to do so, but you can do it from the terminal. Here's the command:
/Library/Application\ Support/VMware\ Fusion/vmware-vdiskmanager -d '/Users/Your User Name/Folder where your disk is stored /Name of your disk.vmwarevm/Name of your disk.vmdk'
Obviously, change the bold/italics to fit your specific computer.