Still no joy...
By the way, the -IpMode:UseStaticIP works - as is - in two other script I have. One deploys VMs by cloning another powered-off VM and the other deploys them via a template. Both prompt the user to enter IP info as the script progresses. Both scripts were the precursors to the one I'm working on now... Anyway, I made your recommended change to -IpMode UseStaticIP but that didn't make a difference.
I constantly watch the output while the scripts run - just to catch any errors. I managed to capture the output and, again, it all looks like it's creating a VM with all the correct info. Before my original post, I even filled the CSV with some bogus data - trying to trick the script into a failure - thinking the script just wasn't pulling in the correct data. However, that didn't seem to make a difference; it seems the data is being pulled in correctly.
Looking at that KB article let nowhere. None of the paths seem to apply to my Windows 2012 server. I poked around the %Windir%\Temp directory but anything looking to be VMware-related, was empty.
I also commented out the Remove-OSCustomizationSpec bit to test the deletion and powering-on theory. Again, there was no change in the final product.
Also note that the Remove-OSCustomizationSpec in the other two scripts is done before the Start-VM - again, with successful results. So, I'm not sure changing that order makes much of a difference. At least not in my case...