И еще, что интересно. Отключаешь библиотеку vcl.h и перестают узнаваться функции из IActiveDesktop.
Бред какой-то, но если подключены библ. и vcl.h, и shlobj.h, то IActiveDesktop виден, а если хоть одна из них отключена, то не виден....... А включены обе, то ошибка множественной декларации о которой я писал.....