Is it possible yet? Maybe create one or more intermediate languages and translate from the primäry language thru the intermediate languages to maybe an extended version of baseLanguage and then create Java-, C# or eben C++ code from this?
Of course there must be some rewrite language to make it easy (in the moment it will be only possible to in java I suspect). Have you thought about one yet?
I like the concept of txl (http://www.txl.ca/, but I suppose you know it) to use patterns to match whole trees or part of trees and replace them with some other tree. This gives rather 'distributed' rulesets with many small rules which could be easily reused later via inheritance.
In MPS it should be possible to maintain the intermediate trees and use it for instant inspection and debugging:
You can view and even edit the intermediate languages via MPS or use the information from an intermediate node to display informations if the cursor hovers over the corresponding node in the input language.