I think that city limits would copy city shape a little better.
No more situations when city takes shape of letter L but its limits take shape of square and with a lot of free tiles inside - where are (for example) factories and private roads serving those factories - which are threatened by city growth.
So I suggest that city limits should be within only three tiles behind last house of city - in all directions. And also very frequent demolishing of buildings in any area would cause that there no buildings will be built again - and so there roads would not be overtaken by city (cities).
But at this time I have not any screenshots or else pictures which would explain my idea.
wouldn't it be better if the city grows out in a circle from the city hall, rather than a box?
City may grow in circle from city hall. I don't have complaints against it - but city growth should be a little more sensitive and logic - it means without satellite villages (or I don't know what term you use for such urbanism building).
(http://graphics.simutrans.com/albums/userpics/10043/SpaleneCityLimits.png)
City shot on picture above has shape of letter L and there is cement mill located on the north-west of that city. That factory and its station are inside city limits regardless of they are very far from city - and it causes very big problems because city overtakes road part of that station.
After change based upon my idea station by cement mill (highlighted on minimap screen with yellow rectangle) would be out of city limits. It would not limit city growth much. Only city limits would be changed a little more often - in accordance with city growth.
If you want to protect certain roads or areas, maybe it's easier to create an "invisible" building and place it where you don't want to let grow the city.
??? I would like to know what you mean with invisible buildings?
You can create a pak file with transparent graphics. If you don't want to see completely nothing, you can put a small fence or a small sign or whatever.