Hi Edgar,
Yes, there are good reasons for not using .cs.
.cs do not scale. Or history has to be purely linear, which does not happen in real world.
Merging concurrent versions is impractical, or even impossible without a history of branches.
I've used .cs for more than ten years in the 90s, and even with a team reduced to 3 persons, it was far from ideal!
Some features would take time to implement, and inevitably lead to conflicts.
We finally had to put version history in method/class comments (author+timestamp+reason of change).
A poor man source code versionning that bloated the source code with orthogonal information...