If you noticed that iclassify node is overwritten when updating facts using icagent, this is because icagent UUID is conflicting. At first, I thought it's VMware's BIOS UUID. Download and install a fresh copy of iclassify (with icagent), and run to initialize a fresh icagent UUID.
You might encounter:
agent.rb:26:in `initialize': undefined method `random_create' for UUID:Class (NoMethodError)