@peezmachine: I favour C# with XNA / MonoGame. They're very nice game-based frameworks that provide a bunch of useful constructs as well as a basic content pipeline which would cover all the audio/visual needs. Plus, C# has very nice WinForms support which would make developing any tools much easier.
TL;DR: Use MonoGame and don't write a giant design document before starting; just start making the game.
I second this, especially since you'd like it to be be multi-platform. I'd also love to help code if you do use MonoGame/anything C#.
I would definitely be interested in reading someone with a thoughtful review on Infinite that describes why they think it fails as a game. Tom McShea will never be the person to write something like that. His criticism is generally made up of a collection of other thoughtful game critiques misused and reapplied in a context where it no longer really makes sense. No idea how his work gets through a publication's editorial process.