Technically speaking, the biggest reason to use V-Locity instead of Diskeeper is the ability of V-Locity to balance the workload for the clients. For example, Diskeeper will look at resource usage and only defragment when it's at a low enough level that defragmenting won't affect anything important. BUT on a VM, that's not possible because it won't see what the other VMs are doing. While another one is running a backup or an image, you don't want Diskeeper defragmenting. So V-Locity would work with the local compenent to ensure it's not doing anything it shouldn't be.
That being said, Dskeeper 2011 will do very little defragmentation, as it deals with the problem at the point of writing--at a driver level--so there's little fragmentation to clean up. It's rare that I see an environment where you need to do anything other than just use the default settings, but it does happen.
Running Diskeeper 2011, or any defragmenter, in a virtualized environment should be done along side a manufacturer's recommended settings. It's not a big deal but, for example, defragmenting a thinly provisioned environment incorrectly can cause a lot of bloat. It's easily enough handled but it's just something to be aware of. That applies to Diskeeper, PerfectDisk, O&O etc.
That best practices paper I attached earlier covers it well.
Note: not only do I work for Diskeeper but I'm the director of global sales:smileyhappy: But I'm not saying anything that I wouldn't back up in a trial.And I'm also a long-time user of VMware on a personal and professional level so there's that smidge of impartiality.