Yes, reinventing the wheel - it almost like none of the experiences are kinda codified. Then again, technology changes and stuff might become feasible. So they try again and fail some other reason for.
Yes and no. There is much less engineering in software development than there could be. And fewer practical, well designed, journal-grade tests for various system designs. Also because software is not as well regulated as, say, construction or chemical industries. Perhaps it should, though.
The development of a game like SC should start from something like this:
"Given what we know about distributed systems, this is your time-message budget that you can use to make your system agree on the state of the game world. Check which scenarios, interactions, game systems etc you can fit into it and to what extent. Prioritise and decide which you can leave out.". You know, like you would start with a building or a truck.
Meanwhile, it amounts to "gib cash, will improvise for a decade to realise we need to go back to the drawing board".
FCS, it takes an average of eight years to bring a new model of a car from initial designs to the market. SC already took 125% of that and it is still trying to figure out its networking basics.