I doubt this is just RoboVM unilaterally making this decision. They're offering a full refund to all license holders - some decision maker somewhere is paying for this (be in Xamarin or Microsoft).
While they likely didn't make the decision to close up shop, RoboVM did unilaterally make the decision to close source the code 7 months ago. Additionally, they did make the decision to sell to Xamarin. They indicated that very few people contributed to the open source project, and with it being open source it was difficult, if not impossible, for them to make money as a business.
I understand that people want to make Microsoft the bad guy, but in this case RoboVM sealed this fate themselves a while back, and from their point of view they didn't really have a choice if they wanted to make any money.
As another comment pointed out, the old open source repository is still available on github as of now.
Edit: Forgot Xamarin technically owns RoboVM, maybe Microsoft wants to avoid any legal issues with Oracle.
Assuming one is ok with a little dosis of JNI pain on Android, given that C++ is a first class language in iOS (via Objective-C++) and Windows (C++/CX and or via WRL).
And if there is the need to use something that they have yet to wrap, there isn't any difference between C# and C++.
Also in Android there is the additional pain of synchronising the .NET and JAVA GCs.
C++ is a good language, except for the warts introduced due to C copy-paste compatibility.
Sure, Xamarin has done a lot of that work--but that's also kind of the point in the first place.
However one thing that my likeness for Turbo Pascal and Oberon teached me was that making applications with languages which aren't first class on the platform SDKs opens the door to situations like these.
So I rather be more pragmatic, even if it goes a bit against to my preferences and keep my code free of company politics, which may lead to porting the application to other languages.