Since we have not seen their core code, we have no idea how flexible or well-written it is. From the exposed parts of the game, I would guess that it is rather well made.
The problem areas are in some of the design choices, and given the small staff and need for priorities I can understand that. I have, myself, lost more money on game startups than I like to think about. I think it was a bad decision to make one game release to cover the entire 1850-2000+ era. The effort is spread too thin. It would have been wiser to make a really polished 1850-1900 base game with a sufficient number of vehicles to enable realistic transport systems. Then, they would have been able to sell 1900-1950, 1950-2000 and 2000+ add-ons to create a sufficient cash flow to increase the development effort.
For me, the biggest disappointment is the unrealistic turn around of trains and the lack of proper freight train handling. Most freight trains do not stop at a platform to get loaded and unloaded like a passenger train. We should have a need for marshaling yards, shunting and sidings where cars are left for loading and unloading. This kind of activities are demanding on game logic, but does not use much computer resources so it would not cause a performance hit.