Что ж, ваша основная причина против использования TPL сегодня выглядит следующим образом:
Вы не знаете, возьмет ли TPL максимум из будущих многоядерных процессоров.
Я бы сказал (это только предположение - особенно в области компьютерных наук вы никогда не сможете сказать, что будет дальше): Да, они изменятся. И да, TPL будет изменен в некоторых точках, чтобы максимизировать производительность. Однако некоторые изменения будут скрыты - вы получите выгоду от оптимизации, фактически не изменив ни одной строки кода.
И даже если есть изменения в архитектурах, которые приводят к повышению производительности только в комбинации, которая меняет ваш код: я не думаю, что эти изменения будут влиять на весь ваш код - возможно, некоторые проценты были бы важны каждую миллисекунду.
А где альтернативы? Используя Threadpool? Что ж, тогда TPL намного более актуален. Следовательно, ваш код будет более перспективным при использовании IMHO. Например, демонстрации отладочных функций VS 2010 выглядят довольно неплохо.
Кроме того, мне кажется, что TPL достаточно гибок - если он не подходит для конкретной ситуации, вам не нужно использовать его там. С другой стороны, это упрощает разработку в других местах.
Я думаю, что сегодня самое важное - подумать о распараллеливании и включить его в архитектуру. TPL значительно облегчает этот процесс.
Поэтому мой вывод: используйте это!