Can't you just maintain that in a separate branch? Should not be that hard. I think most people already maintain a separate modified engine for their projects.

Well sure I could, in fact I've been working with C# for the sake of Torque6 and not for the sake of Torque3D, so it's not really a priority for me to get C# in Torque3D. But if it makes sense to include in the engine, as it is a small amount of changes in order to implement, then why not?
I have to point out yet again that the change is about exposing an interface. Think of it as taking Torque3D, and transforming it into an engine with a lot of buttons and input and output panels, instead of a box with a start and a stop button as it is currently.
You can then, put that engine in a C# car, a TorqueScript car or a Java car, whatever you like.

If you don't agree on the benefit of that, then I guess we just have different visions of what Torque3D should be.

If C# does get implemented, it won't be at the cost of TS. At minimum, the core configuration and tools are in TS and that's unlike to change in the future.

Much like enabling multiple sound systems and multiple physics engines, the idea is to add a framework to let the end-user have the option that suits them best.

C# is very unlikely to go anywhere, and if you don't want to use it(if it gets rolled in in the end) you can just continue using TS as usual, but having it as a potential option may well be more appealing and comfortable for some people.

You could make it as an addon that is default to off like other modules with Torque like physics modules are and if someone wants to use it, he can switch a flag to on before compile.

Something along those lines, yeah. The actual changes, as Lukas has pointed out is really just exposing and tweaking an existing interface in the engine to make it more flexible, but the idea is it's an additional option for people to work with if they want to work with it, but not an obligation.