Ben,
it is not clear to me why having a dependency on fsharp.core is widely considered by developers to be a bad thing. I can see that distributing a single file app might be considered easier and it is true that fsharp.core is not deployed with the .net framework. However, that is actually a good thing for us, because it makes it easier for us to evolve the F# core libraries. Although there is one negative to it not being in the framework and that is our portable library story is more cumbersome than it is for VB and C#.
The open source community seems to have moved to a packaged library model already with tools like nuget popularizing a componentized model based around libraries. So it seems as if having functionality in libraries is a thing that the development community have already decided is a good thing..
As for the learning curve, that is true of every language. Believe it or not in the early 80's when Basic and Pascal were very popular PC development languages, people struggled to make justifications to move to C, and then the move to C++ was what everyone struggled with. I would say that if the language is good, useful and well maintained it will become easier over to time to gain adoption. I believe the strike against F# a few years ago was the public perception of insufficient Microsoft support. That is now fixed, F# is back where it belongs in the Managed Languages team, it is staffed at a justifiable and sustainable level, and it is open source and fully collaborative. There is a lot of energy around F# right now which I expect to help in adoption discussions.
Kevin