The thing is, we can't protect you from yourself. It's difficult, and sometimes impossible, to provide a user with both the freedom to do what they want in the system, and protecting them from making mistakes. While documentation might help, not many people look at documentation before they perform an action anyway. And I don't think anybody wants to see notes/messages on most pages that warns them and describes what not to do, in case they perform an action whose consequences are unfavorable to their expectations.
While some additional documention may help, I think the best solution is to exercise additional responsibility in management of products. I imagine most people understand that changing a product's settings changes it only for future use, and leaves existing services alone.
That said, your example of changing the Name field retains the old service information, but it is simply not shown any longer for existing services. Maybe it should be, and maybe there should be an option to remove it for a service. Something like this might be a good feature request.