He pasado por IStorage, Microsoft Compound File Spec, ArcObjects deserialization, etc. tratando de detectar la versión del archivo .lyr.
Al usar ArcObjects, puedo acceder a las propiedades de capa, fuente de datos, extensión, etc., pero la propiedad documentVersion de LayerFileClass siempre informa 'esriArcGISVersion10' en los archivos de capa 9.3.
ILayerFile l = new LayerFileClass();
l.Open(fileName);
LayerFileClass t = (LayerFileClass)l;
string version = t.DocumentVersion.ToString();
Cualquier ayuda es apreciada.
Tenga en cuenta esta publicación del foro crujiente de 2007.