On the upside... you can always edit out the love scene and have him watch Top Gun, and the nickname will be much less "baby-ish" :) :) :) Then again, Goose DOES sort of meet a tragic end... 6 of one, half a dozen of another.
But back to your actual Q:
We have that problem in two ways
1) On the day he was born, Kiddo became "Honey Bear". I think he was 6 or 7 minutes old. That name stuck like GLUE. When he was 4, he objected to the "honey" portion of it, and it took about 6 months of constant shortening to "Bear" before it wasn't what rolled off my tongue. It's not solid, I still occasionally say "Hey....Honeybear..." But what it really is is CONSTANT checking & altering. What helped the most was finding ANOTHER nickname to call him.
2) He currently ABHORS the words "Mommy" & "Daddy". I don't use them in public. Usually the only times I use them are on printed things like chore charts, or if I'm in the house and it "Hey! Daddy's home!" or "That's daddy's". He'll get over it. I don't use them in public.
We do use family-sign / codewords for when we're in public and want to pass on info silently.