Сам TInterfacedObject не учитывается, только интерфейсы. Вы можете реализовать интерфейсы, используя TInterfacedObject, что в основном экономит ваши усилия по реализации методов подсчета ссылок самостоятельно. К сожалению, это все равно не будет работать в вашем случае: компилятор не знает, что вы назначаете интерфейсы свойству TTreeNode.Data, поскольку оно не объявлено как интерфейс, а как указатель. Так что будут происходить разные странные вещи:
MyInt := TFacilityTreeItem.Create; // ref count = 1
// Node.Data := MyInt; // won't compile
Node.Data := pointer(MyInt); // no interface assignment, ref count stays 1
...
end; // ref count reaches 0, your object gets freed
Как только вы попытаетесь получить доступ к своему объекту через свойство .Data, вы получите нарушение доступа.
Итак, в этом случае не беспокойтесь об интерфейсах, вы можете заставить его работать, но это будет гораздо больше усилий, чем стоит.