L'ancien nom de Bruxelles était peut-être Bruocsela, il est possible que la prononciation [ks] se justifice par un archaïsme.Jacques a écrit :Je crois que nous en avions déjà parlé : en ce qui concerne Bruxelles et Auxerre, d'origine ces deux villes n'ont jamais eu de X, les noms s'écrivaient avec deux S. Mais les scribes de jadis, pour s'économiser de la peine, remplaçaient le double S par un signe qui ressemblait un peu au X, d'où une confusion qui a fini par imposer ce X (ou cet X ?) insolite, qui n'a cependant pas fait changer la prononciation. Voilà qui nous autorise à fustiger les gens qui prononcent bruksel ou oksèr'.
http://fr.wikipedia.org/wiki/Histoire_de_Bruxelles
Cependant, dans cette autre page de Wikipédia, on donne comme explication celle que vous donnez.À l'époque, le lieu est nommé Bruocsela (en langue germanique bruoc désigne le marais et sela la salle ou la maison), mais on a mis en doute que ce toponyme puisse être lié au village de Bruxelles.
http://fr.wikipedia.org/wiki/Bruxelles
Pour Auxerre, j'ai une habitude bizarre, je prononce "ossère" pour la ville et "oksérois" pour les habitants.En vertu d’une exception de la langue française, son nom se prononce bʁy.sɛl (le "x" se prononce "ss"). En effet, l’orthographe actuelle du nom provient d’une habitude des scribes du Moyen Âge, de remplacer les doubles « s », comme dans Brussel, Brusselles, par une croix, ce qui n’en modifiait pas la prononciation. Cette croix, assimilée à un « x », n'a été prononcée « ks » en français qu’à partir du xviiie siècle, sans que cette modification change l’usage bruxellois. Il existe d’autres exemples tels qu’Auxerre (prononcé Ausserre /o'sɛʁ/) ou Auxonne en Bourgogne.
-----------------------------
Enghien
La ville de la région parisienne se prononce "en-gain", tandis que la ville belge se prononce en faisant sonner le i. Ceci est illogique vu que le nom de la ville française provient de la ville belge.