I've already emailed this to support@mikrotik.com ...
I have been finding Neighbour discovery on Winbox very unreliable with CHR VMs.
I started looking with Wireshark at the MNDP protocol packets and made the following observation.
On a Real Routerboard, the first 4 bytes of the UDP payload are (per packet) like this:
00 00 2d 02
00 00 2d 03
00 00 2d 04
00 00 2d 05
etc.
On a CHR, the equivalent bytes are:
8d 05 00 00
8e 05 00 00
8f 05 00 00
90 05 00 00
Winbox does eventually discover the CHR, but it takes a random (long) amount of time to do so.
This looks like a classic big-endian/little-endian problem with CHR in what it puts into the MNDP header - the rest of the data in the packet is OK.
If I log into the routers themselves, then CHRs never show up on a real router's neighbour list, and other CHRs never show up a a CHR's neighbour list.
I suspect this is also the same problem.