Occasionally I carve flat.vmdks out of unreadable vmfs-volumes.
Eager zeroed thick vmdks then are my favorites.
All other types are very hard to restore.
Lazy zeroed vmdks come out as areas of expected data mixed with blocks of data from older vmdks - most of the times that makes restoring data impossible.
For best recovery you want to zero out the harddisk before creating the VMFS-volume.
Then format it and only use eager zeroed vmdks - wipe them with zeroes from a LiveCD on first use with a VM.
Dont delete vmdks - reuse them for other VMs.
Then dump the first 1.5 Gb of each datastore daily to a safe location.
With such precautions you will have a significantly higher chance for recovery in case the vmfs becomes unreadable