If some services are defined in deployerConfigContext on bean serviceRegistryDao/registeredServices, to be injected, then further modification of services list in services management replaces an existing service.
The problem is on InMemoryServiceRegistryDaoImpl save method, which numeric generator begins with 0.
Maybe something like that in setRegisteredServices would do the trick : generator = new DefaultLongNumericGenerator(registeredServices.size());
A better way would be to look for the greatest id in the registered services.
I know this use of InMemoryServiceRegistryDaoImpl is somehow weird, but I prefer to have a list of default services, and temporary services added at runtime. Well, and a bit of laziness to do DB configuration for only 5 services...