Gracias. Ya encontré la solución y es una estupidez que no sé como no se me ocurrió antes. El fichero de cabecera VirtualTrees.hpp se pone por defecto, y como es lógico, en el formulario que contiene el TVirtualStringTree; se ve que en la compilación algún otro fichero de cabecera machaca parte de ese código. Me ha bastado con poner ese hpp en formulario que lanza el resto de la aplicación para que ya no dé error.