Any possibility of name or IP conflict here that could be causing confusion? Multiple network adapters/IPs or the like?
If you remove the problem server node, re-add/rediscover the ESX host, does the machine in question show up on a VMware-native poll/discovery?
I have the same situation. Any luck on how to fix this?
Update: After poking around, I found in the VIM_VirtualMachines table where nodeid = 215 (node being reported as virtual, but really isn't) an entry for another server (name = Helper). When I ping HELPER it has a slightly different IP#. This virtual server is currently powered off. I tried to rediscover the ESX Host (nodeid 274) but it didn't change. So, I edited the table and changed the nodeid from 215 to NULL (like the other ones that weren't running GuestState=notRunning).
Now, when I look at the server on the ESX Host Details, it's greyed out (as expected) and the NodeId 215 shows as a physical server. Not the best solution, but so far, so good. (I hope I didn't break something else.)