Services are supposed to remove EPRs from the registry when the service terminates. Therefore, an "incorrectly developed service" is a service which terminates and does not clean up after itself.
The EPRs should be registered and removed by the initialisation of the listener, in general you would not have to concern yourself with this. It is one of the last areas of initialisation and is unlikely to fail at this point.
The scenario that is more likely to cause issues is if the JVM crashes or has been killed indiscriminately (kill -9 for example) as this will not allow the listener to cleanup the reference. As the UDDI entries are persistent, they will still exist when the server next starts.