Intel C++ — это ведь компилятор, а не язык, просто будет на выходе получаться более оптимизированный под их процессоры машинный код.
Не соглашусь, что C++ — убожество.
C# ведь позволяет очень просто подключать COM-компоненты, и работает с ними почти как со своими сборками.
Так что, я, наверное, выбрал бы C++ — если нужен быстрый независимый плагин, и C# — если сам плагин надо сделать побыстрей. А так как, насколько я понимаю, вы профилируетесь на C#, то это наиболее подходящий вариант. Ну, если обёртки писать для C++-либ, то я бы отдал предпочтение промежуточной либе на C++/CLI, потому что слишком много факторов нужно учитывать, если писать обёртку на C#, и не всегда это просто, например, если захочется передать массив строк.
Насчёт D не знаю. Судя по описанию в вики, он хорошо подходит, но будет ли кушать COM — вопрос. Быстрый поиск в гугле не дал примерчика. Может стоит начать писать на D, если внезапно появятся неслабые трудности — перейти на другой.