Object in different scene gets renamed without any warning I'm using Blender for creating game assets. "Empty" objects are used as placeholders for various things related to game logic like sockets, ports, etc. "Empty" is always child of mesh to which belongs.

Empty objects are named as "SocketFront", "SocketBack" etc. Suffices like ".001" are fine.

What is not fine is when I add new socket and name it "SocketFront", other object in different scene named "SocketFront" gets renamed to "SocketFront.001", without any WARNING! These "accidental" renames are big problem, because game stores these names in data files and suddenly cannot find "SocketFront" on that model it used to be.

Is there any way to prevent Blender behaving in such way?
I'd be okay with:


Changing the name of current object automatically (ideal)
Showing warning to me that such object already exists
Automatically naming all child objects with parent object name as prefix
No, this is how blender operates and also one of it's design flaws and known limitations. The software is not very forgiving, you either need to know what you are doing or learn by mistakes - it doesn't warn the user much, every button is basically a nuclear missile launcher (though recently a prompt to quit was added). 

What you can do as a workaround is to have a watcher running on background (effectively slowing your blender) to notify you when a name is changed:

Execute a python function whenever the user interacts with the program

You can alter that script to check anything you want (even all the scenes for changes), as it is now it prints name changes of one hadrcoded object into the system console.