This question may be mixing a bunch of different issues.
I think that the problem is that the word "started", when used with services, has nothing to do with actually accomplishing useful work. A service doesn't really "run". Service code gets executed in response to exactly two things: intents and requests from bound clients.
Your service definitely does not stop itself, when you unbind from it. If it was started, it stays started. If it wasn't started, it still isn't. I'd like to understand more about what is "running" so that it crashes, when you unbind the service.
When your configurator goes away without unbinding the service, then you've leaked a Binder connection. That gets you a warning, but it probably isn't a big deal: Binder should take care of it.
-1, at least tell me why.