Passei por IStorage, Microsoft Compound File Spec, desserialização do ArcObjects etc. tentando detectar a versão do arquivo .lyr.
Usando o ArcObjects, posso acessar as propriedades da camada, a fonte de dados, a extensão etc., mas a propriedade documentVersion do LayerFileClass sempre reporta 'esriArcGISVersion10' nos arquivos da camada 9.3.
ILayerFile l = new LayerFileClass();
l.Open(fileName);
LayerFileClass t = (LayerFileClass)l;
string version = t.DocumentVersion.ToString();
Qualquer ajuda é apreciada.
Observe esta postagem no fórum de 2007.