I'm sorry you feel let down. I still feel we have done a good job with the time, budget and resources we have had so far. Unity does allow modding, it's just a bit more tricky for a finished game. KBS is in alpha stage and has been for years, they are doing an excellent job with the mod support and I hope we can in the future learn things from them

There are mods available to CiM2 on these very forums. I myself am hopeful that more mods will appear, things just take some time.
You guys really shouldn't take a lot of this anger personally. I know it's hard to do (and if it was my game, I too would be bothered). However, I don't think people are being angry for sports, but rather because they really like the game, but just wanted it to be
better.
Effectively, you should take the anger as an appreciation of the base game (because this time of game is clearly appealling to a lot of people), and then try to work on that.
Personally, I don't care too much about the visuals, particularly not with there are other issues with the game. The pillars make good sense to me. All roads (that includes track, because even the tool tip refers to tracks as 'roads') are basically just slabs of path that can be elevated in different levels. If they are levelled above ground, pillars are 'drawn' below them. Of course, they are purely visual and serve no real purpose in the game.
But to avoid the game drawing pillars on roads, you 'verify' whether it is over a road and don't draw a pillar there. Unfortunately, avenues (even the middle part) count as a road object, and thus it does not draw pillars there. That will require a bit of a special hack. Because I have a feeling that the algorithm to detect whether it is above a road is very basic to avoid using too many resources.
Possible solutions would include being able to ask the specific road object whether
that part is actually road. Store all 'road object specifications' in a big map (a 2d-array or something) that you ask in all cases, but when you place avenues, you don't 'map' the central part of avenues. (But if someone slabs a tram underneath your metro line and are complaining about the pillars in the way, then they are on their own.)
However, my biggest grip with CiM2 is the information availability. For instance, the Population graph is not entirely useful, because I cannot hover over the bars and see the exact numbers. Why can't I do that?
Also, why can't I see the busiest (on average) stop/station I have? Or the busiest line for that matter? For that, I have to browse through a lot of windows and whatnot to figure it out, or observe the entire map for an entire day. The game should really be able to tell that for me.
Oh, and it would be nice to be able to align stuff. Perhaps then you could 'tie' a road to another road, and then give you even more interesting pillars.
(Actually, come to think of it, the pillars are a nice programming challenge. Gosh, now I sort of wish I worked for CO so I could work on that specific task.)