Overview
Most of your examples have to do with the fact that converting a "Western" name into the Japanese syllabary is a lossy operation, meaning that it's not always possible to reverse-engineer out the original "Western" name just by looking at how it's written in Japanese.1
It's not that the names are changing over the course of the story, it's that the translators are translating the same name in different ways at different points in time.
Examples
The princess of Alabasta had her name written as
Her name in Japanese is written ビビ, which is romanized bibi. So you can see how one might think this is from "BB". But one could also plausibly think that it's supposed to be "Bebe" with a long "e" /i/.
The other problem is that historically, Japanese did not have the "v" sound /v/, and used /b/ in its place, so you can see how one might come up with "VV" or "Vivi" too. (My impression is that Japanese is in the process of developing /v/ on account of loanwords; cf. https://japanese.stackexchange.com/q/24498/.)
Darius's son had his name as
His name in Japanese is written シャビィ, which is romanize shabii. In English, there are many ways of representing the "sh" /ʃ/ sound. Think of words like shingle or chute. In other languages that use a Latin-derived alphabet, there are still other ways. Consider, for example, the Spanish footballer Xavi - whose name in Japanese is spelt シャビ shabi, which only differs in vowel length. I suspect that whoever romanized it as "Xavi" was taking inspiration from Spanish.
(And again, the "b"/"v" thing from before still applies.)
His sister
Her name is written シャルル, which is romanized sharuru. This is the standard Japanese spelling of the English name "Charles", but since the character is a woman and "Charles" is almost exclusively masculine, I'm guessing the translators were forced to pick a similar-sounding approximation instead. The above comments about how "sh" is written apply here too.
So I'm guessing Xenophon could have also been
This character's name is written ゼノフォン zenofon. A reasonable translator would immediately jump to "Xenophon" for this because "Xenophon" is a real name, while theoretically-plausible alternatives like "Xennofaun" and "Zen O'Fon" are not. But you're correct - there are other English spellings that could have been written in Japanese as zenofon.
The "Famous Detective"
I don't know what's going on here - the character's name is plain old Japanese 毛利小五郎 Mōri Kogorō, and I don't know why anybody would read his personal name as "Togo". However, I don't read Detective Conan, so if there's a plot reason for this (maybe he goes by an alias or something at one point), I wouldn't know.
Discussion
This is a recurring problem that plagues translations of all anime and manga that feature characters with names that aren't either Chinese or Japanese. (Chinese typically can be reverse-engineered correctly because the names will be written in kanji, meaning you can just read off the modern Mandarin pronunciations for the characters. Note, though, that other issues sometimes occur when romanizing Chinese names in Japanese media.)
Sometimes, official guidance about English spellings will be provided by the author or publisher, in which case you can just go with those. (Though, be warned, sometimes they pick objectively terrible spellings. I distinctly recall Heavy Object being particularly ludicrous here.)
Absent official guidance, translators have to take their best guess. This gets difficult when the names of the characters in a given anime/manga are names that are either extremely rare or outright do not exist in the real world - at that point, you're basically pulling guesses out of your nether regions. This was a huge issue for Akame ga Kill - see the table below, where "unofficial" means what the fan translations thought the name was before official guidance was provided. (This isn't even an exhaustive list!)
╔══════════╦══════════════╦════════════╦══════════╗
║ Japanese ║ Romanization ║ Unofficial ║ Official ║
╠══════════╬══════════════╬════════════╬══════════╣
║ マイン ║ main ║ Mein ║ Mine ║
║ ブラート ║ buraato ║ Burat ║ Bulat ║
║ ラバック ║ rabakku ║ Rabac ║ Lubbock ║
║ シェーレ ║ sheere ║ Schere ║ Sheele ║
║ エスデス ║ esudesu ║ Esdese ║ Esdeath ║
║ ラン ║ ran ║ Ran ║ Run ║
╚══════════╩══════════════╩════════════╩══════════╝
Notes
1 By contrast, we can almost always determine the correct Japanese spelling of a name by reading a Nihon-shiki romanization of the name, though we can't determine which kanji were used to write it. This is partly to do with the relative phonological richness of English as compared to Japanese, and partly to do with the fact that the Japanese "alphabet" is a syllabary (making transliteration difficult), whereas the English alphabet is indeed an alphabet, and a highly non-phonetic one at that.