Sorry for the late reply, it was a holiday last week and it took some time for me to delve into the problem.
As you said, the latest Chat example project works fine, both the central and client sides do discover each others' services. Elaborating the differences with my project. I finally found out the following.
project, Zoodiscovery is started through Configuration Admin service. However, the updated(..) function of ZooDiscoveryExtender is called twice, possibly on two different objects, thus, Zoodiscovery is attempted to get started again.
Strange enough, this looks like what stopped the problem.
In my project, I was starting Zoodiscovery directly through Activator by calling a startZoodiscovery function. So, by recalling it, it started to work as desired. Another solution was to add -Dzoodiscovery.autoStart to VM parameters. This second one also eliminates zoodiscovery bind errors.
If I'm not mistaken, second start attempt makes something else work. Do you think that it is related to some bug?