I've never seen or heard of this bug but it sounds like the game wants to use the same internal string for 2 different things. My solution would be to make a new building with the same stats as your old one (or a new hero, whichever you find easier) do NOT delete the old one first and do NOT copy the old custom one. Start from scratch. Then save and see if you have the same problem with this new one.
If all that works then to try and remove this error I would delete the old unit and immediatly make a new unit (doesn't matter what). Don't give it ANY custom data, save your map, and test to see if it retains the wrong name. If not the map should be ok, if it does just never use the unit and hopefully this problem doesn't pop up again.
On a side side note keep multiple save versions of your map in case stupid bugs arise you can't get rid of. I'd have beat tides of blood as the first AOS type map in TFT if I had followed that advice, and while popular it just never gained the popularity over the inferior map that came first. I'm not biased I swear. ^_^