You mentioned scale which is interesting since these breakdowns occur when the scale changes. The scale of city streets isn't the same as the scale of the building interiors, and yet your coordinate system has to do something sensible when you go between them. Similarly for leaving the open grasslands and entering the city. Is the MUD meant to have one room of grassland surrounding the city for every single room on the inside? The way rooms are handled now that's almost unmanageable.
It would certainly annoy the players to have to walk around hundreds of rooms of grassland to get from one side of the city to the other.
If the system used a change of scale, it would use additional dimensions of the coordinate system. This would work exactly the same for disconnected parts of the world. An example:
You have a starting village which has a road passing through the centre from north to south. Let's say you describe the village in such a way that it seems about 300 yards from one side to the other. The actual size doesn't matter, but that's the perception. You give the center of town a coordinate of (1,0,0,0) and build rooms for the town layout. The road edges happen to fall at (1,0,15,0) and (1,0,-12,0). When a player exits the town via the north road, the room sector on the edge of town would have (at least) two exits. The south exit would point to (1,0,14,0), and the north exit would point to (0,0,2,0).
Leaving town, you end up on the road, but now the descriptions tend to lend themselves towards each step being more like 100 yards instead of the roughly 10 the town interior used. So, when designing the space of the world the town occupied, you figured maybe it took 3 steps to go around it. Thus, if the center of town was at (0,0,0,0),you'd actually map the terrain for (0,-2,2,0) .. (0,2,-2,0) so that the descriptions showed the town, and the exits either weren't there (maybe they have a wall), or map into the interior coordinates at a reasonable point (0,0,2,0) -> (1,0,15,0).
From the outside, the town takes up a 3x3 grid (doesn't have to be a grid, but that's simple). Asking for coordinate (0,0,0,0) would either fail (simple) or you *could* make an association of the coordinate systems (tricky) to give you a random spot within the interior system.
That's what I mean by the physical size doesn't need to matter, just the number of nodes. If your descriptions changes from needing 3 rooms to walk around the city to needing 5 rooms, it wouldn't have any impact on the interior coordinates. The city wouldn't suddenly become larger or smaller, but it would take up more nodes. Likewise, expanding the interior system wouldn't HAVE to increase the number of nodes used outside. If you had an "enter" or "leave" direction, you could choose to just have a single room.
For that matter, there's nothing forcing you to make the external shape anything like the internal. You might describe a river which, when entered, becomes a maze of underwater caverns stretching in all directions... the exits inside the maze might be widely scattered, yet the external linkage is a thin ribbon. You could go the other way too... define a large chunk of the coordinate set so all the edges point to a single internal room.
It does make me think though, that it might be useful for a room to know if there is a "parent" coordinate it might be known as. Mostly for things like "teleport", which might want to allow travel between cities. Hmmm.