Legacy Application......never it just needs to evolve.
Platform - I take it here you refer to mainframe, Windows, UNIX, Linux etc........
A lot here depends on your market, your product and how quickly you want to get to market.
I can give you an example of what we did :
Product was green screen, top down code. Windows and UNIX
Introduced client server and dialog system. Windows and UNIX
The introduction of the dialog system made us structure each program with UI loop and the top of the program and business logic underneath.
Around the year 2000 we could replace the UI loop with an XML parser, business logic remained the same, the return values where wrapped in XML
So now we had encapsulated business logic that became extendable without changing the linkage sections.
So each component basically passed in XML and returned XML.
Then we created a generic interface that could be wrapped in a Web Service or a WCF technology and you end up with a service type architecture.
If you think about Microsoft Azure or the Amazon equivalent we're already there.
Concentrating using a Windows platform allows you to perhaps get to market quicker, you can have a hybrid of C#, COBOL leveraging of the .NET Framework. A one line in COBOL to do base 64 encoding or encryption because I can call into the .NET Framework makes life easier.
That my story.......hope it gives you pause for thought.
Neil