One question I keep coming back to is whether or not I should switch to using C# and Managed DirectX instead of C++ and unmanaged DirectX for my game. (I also considered XNA, but decided against it for various reasons.)
I'm a lot more productive in C# than C++ and I'm already using C#/MDX for my tools so it is quite tempting. However MDX is no longer being developed, and I'm not sure what kind of features it might be missing compared to native DX, if any.
I already have a lot of working C++ code, but it shouldn't be too hard to port it. Any drop in performance would probably be negligible and I'm not too concerned with cross-platformedness at the moment.
Another thing about C++ is that it makes me feel like a Real Programmer™, which is kind of stupid, but I spent long months learning the intricacies of the language and I'm hesitant to give it up now even though a lot of what I learned also applies to C#.
The most important thing should be to get things done, but still, it's a tough choice.