Да, существует множество коллекций .NET Framework, в которых не реализован универсальный IEnumerable.
Я думаю, это потому, что после 2.0 не было (по крайней мере, не очень) развития основной части FW.
Тем временем я предлагаю вам использовать следующий обходной путь:
using System.Linq;
...
var nodes = GetTreeNodeCollection().OfType<TreeNode>();