If anyone is interested, I managed to fix it by hashing out the VMToolsState section of the citrix_farm.ps1 plugin script on the DDC plugins folder.
Specifically this section:
# Column VMToolsState / Gets machines with a specific VM tools state. Valid values are NotPresent, Unknown, NotStarted, and Running.
#$VMToolsState = $XAmachine | %{ $_.VMToolsState }
#"VMToolsState $VMToolsState"
I did this on both of our delivery controllers, removed the VDA hosts, and reran the dynamic host discovery rule. This then pulled in the hosts correctly minus the dodgy/broken VMTools check.
Not sure if CMK guys can review the script to update this part? The Citrix community forums indicate that you should pull the VMTools info from the “Get-Service” cmdlet on each VDA, but that does mean a fairly significant change to the script. I could give it a go and let you know how it goes, but I’m really not interested in the VMTools state, so probably not going to bother. They’ve literally never failed, but if they did, vSphere would alert me.