Easiest option:
connect to the datastore with sshfs in readonly mode - then use ddrescue against the flat.vmdks
If that does not work - try if you can get the location of the fragments with vmkfstools -p 0 flat.vmdk
If that does not work - try to get the location of the fragments by analysing the VMFS-metadata
If that does not work - find the first fragment with scalpel and hope that the flat.vmdks are allocated in one piece