You mention the key points - in order to use it successfully, you have to agree to use a common, safe subset of the language (e.g. no implicits), similar to C++. You then have to make sure everyone adheres to this, if possible by using automated tools. As a startup, you often don't have the luxury to be able to invest in that kind of infrastructure. You have to train people to use the language correctly, which is a huge time sink. Onboarding still is a huge problem.
Backwards compatibility is another big factor that has bitten people once too often. Compiler bugs, slow compile times, bad community attitude come on top of this.
>> If people start off thinking of Scala as simply a "better Java", and only move to use its easier-to-understand features, I think it'd be a lot easier to hire people to work on Scala codebases and/or train people in the language.
Yes absolutely, and I agree it can be used effectively in that case. But the language attracts people that like to think of themselves as wizards that want to master the advanced stuff, too. After all, the whole thing started basically a vehicle for Martin Odersky's papers, implementing any paradigm known to mankind.
Considering all those downsides - is Scala still worth the tradeoff? I do understand the appeal, but there are so many languages out there right now. You need a stable and reliable platform to base your business on, and after hearing - for several years - people moving away from it because it is lacking in that regard seem like something a responsible CTO should not ignore.