First of all, why you don't try to setup the iSCSI target role instead of using NFS on the windows server? Basically, it can be more useful to provide a shared storage in virtual infrastructure...
Then try to power-on the VM by ESXi itself (start the VM from ESXi management console, not the vCenter) and check the result and log files inside the VM directory ...Please mark my comment as the Correct Answer if this solution resolved your problem
How are you testing the failover?
Because when I go to the ESXi console to add a new datastore, it asks me to create a new VMFS or NFS storage, I don't see any options to attach a new iSCS target.
I have no problem in shutting down the vm on a host and restarting it on another one manually...
I'm forcing Kernel Panic in the host with "vsish set /reliability/crashMe/Panic"
that should normally work, seems like a file is still locked somehow.
For iSCSI you have to configure vSphere vmkernel interaces first and enable iSCSI to begin with. Documentation describes it here:
All types of local and shared storage (SATA, SAS and so on) can be selected in the first step of adding new datastore. The second one is related only to the NFS-based of datastore.
If you want to deploy an iSCSI based datastore, first you must provide an iSCSI LUN and add the target to the ESXi hosts. (Instead of using a real SCSI-based storage, you can deploy iSCSI target in the windows server and choose software iSCSI Adapter in ESXi)
vSphere HA is dedicated to doing VM failover operations interruption automatically against any type of failure/, So remember you don't need to do it manually at all.Please mark my comment as the Correct Answer if this solution resolved your problem