MFC non sono affatto obsolete, aggiungono classi ad ogni aggiornamento o service Pack quindi vedi tu. Certo che fare le interfacce in C# è molto + facile con le classi integrate. Managed C++ è usabile solo se hai del codice vecchio o dll in C già compilato e il managed C++ lo usi x fare da proxy con il .Net (C# e compania bella). Cmq in velocità il C++ non lo batte nessuno se non l'assembler. Tieni presente che con il C++ 2010 non puoi fare programmi x Win200 e antecedenti. Infatti sono supportati solo XP, Vista e 7.
Puoi anche fare le intefacce in C# e gli algoritmi in C++ ma questo equivale imparare due linguaggi.
Questo è il mio modesto parere.