If I’m right, a new capability is added in device.onInit( ) with addCapability(). That doesn’t remove the old one. This will stay until the device is deleted. New added devices only have the new capability.
So it seems you have re-added the device and @Peter_Kawa kept the device.
You could remove old capabilities with removeCapability( ) in onInit( ) to clear the devices. If the new app cersion starts, all old capabilities would be removed for all users.
Edit: Ceck with hasCapability( ) before add/remove to avoid exceptions. But you surely have the check already in your code for adding the new capability.