We have chosen to move our HierarchyRoot attributes to our base classes. See: http://support.x-tensive.com/question/3336/weird-exceptions-for-inherited-classes-during-domain-build
After that a set of bugs has arrived. So this is on more:
[ArgumentException: Invalid TupleDescriptor. Expected descriptor is TupleDescriptor(Guid, Int32, Guid, Guid, String, String, Guid, Boolean, Boolean, Guid, String, Guid, Int32, String, UInt32, UInt32, UInt16, Guid).
Parameter name: difference]
Xtensive.Core.Tuples.TupleExtensions.MergeWith(Tuple origin, Tuple difference, Int32 startIndex, Int32 length, MergeBehavior behavior) in d:\Home\DataObjects.Net\Xtensive.Core\Xtensive.Core\Tuples\TupleExtensions.cs:224
Xtensive.Core.Tuples.TupleExtensions.MergeWith(Tuple origin, Tuple difference, MergeBehavior behavior) in d:\Home\DataObjects.Net\Xtensive.Core\Xtensive.Core\Tuples\TupleExtensions.cs:291
Xtensive.Storage.EntityState.Update(Tuple update) in d:\Home\DataObjects.Net\Xtensive.Storage\Xtensive.Storage\EntityState.cs:222
Xtensive.Storage.Session.UpdateEntityState(Key key, Tuple tuple, Boolean isStale) in d:\Home\DataObjects.Net\Xtensive.Storage\Xtensive.Storage\Session.Cache.cs:168
Xtensive.Storage.Session.UpdateEntityState(Key key, Tuple tuple) in d:\Home\DataObjects.Net\Xtensive.Storage\Xtensive.Storage\Session.Cache.cs:178
Xtensive.Storage.Providers.SessionHandler.UpdateEntityStateInSessionCache(Key key, Tuple tuple, Boolean isStale) in d:\Home\DataObjects.Net\Xtensive.Storage\Xtensive.Storage\Providers\SessionHandler.StateManagement.cs:63
Xtensive.Storage.Providers.SessionHandler.RegisterEntityState(Key key, Tuple tuple) in d:\Home\DataObjects.Net\Xtensive.Storage\Xtensive.Storage\Providers\SessionHandler.StateManagement.cs:30
Xtensive.Storage.Linq.Materialization.ItemMaterializationContext.Materialize(Int32 entityIndex, Int32 typeIdIndex, TypeInfo type, Pair`1[] entityColumns, Tuple tuple) in d:\Home\DataObjects.Net\Xtensive.Storage\Xtensive.Storage\Linq\Materialization\ItemMaterializationContext.cs:56
lambda_method(Closure , Object[] , Tuple , ItemMaterializationContext ) +383
Xtensive.Core.<>c__DisplayClassa`4.<Bind>b__9(T2 arg2, T3 arg3) in d:\Home\DataObjects.Net\Xtensive.Core\Xtensive.Core\Extensions\DelegateBindExtensions.cs:46
Xtensive.Storage.Linq.Materialization.<>c__DisplayClass4`1.<Materialize>b__3(Tuple tuple) in d:\Home\DataObjects.Net\Xtensive.Storage\Xtensive.Storage\Linq\Materialization\MaterializationHelper.cs:117
System.Linq.WhereSelectEnumerableIterator`2.MoveNext() +151
Xtensive.Core.<Batch>d__20`1.MoveNext() in d:\Home\DataObjects.Net\Xtensive.Core\Xtensive.Core\Extensions\EnumerableExtensions.cs:498
Xtensive.Core.<ApplyBeforeAndAfter>d__28`1.MoveNext() in d:\Home\DataObjects.Net\Xtensive.Core\Xtensive.Core\Extensions\EnumerableExtensions.cs:594
Xtensive.Storage.<ToTransactional>d__0`1.MoveNext() in d:\Home\DataObjects.Net\Xtensive.Storage\Xtensive.Storage\TransactionalExtensions.cs:327
System.Linq.<SelectManyIterator>d__14`2.MoveNext() +399
System.Linq.Enumerable.SingleOrDefault(IEnumerable`1 source) +4178557
lambda_method(Closure , Object[] , IEnumerable`1 , Dictionary`2 , ParameterContext ) +162
Xtensive.Core.<>c__DisplayClass13`5.<Bind>b__12(T2 arg2, T3 arg3, T4 arg4) in d:\Home\DataObjects.Net\Xtensive.Core\Xtensive.Core\Extensions\DelegateBindExtensions.cs:70
Xtensive.Storage.Linq.TranslatedQuery`1.Execute(ParameterContext parameterContext) in d:\Home\DataObjects.Net\Xtensive.Storage\Xtensive.Storage\Linq\TranslatedQuery{TResult}.cs:55
Xtensive.Storage.Linq.QueryProvider.Execute(Expression expression) in d:\Home\DataObjects.Net\Xtensive.Storage\Xtensive.Storage\Linq\QueryProvider.cs:71
System.Linq.Queryable.SingleOrDefault(IQueryable`1 source, Expression`1 predicate) +300
Werp.Preloader.EntitiesPreloader.GenerateItems() in D:\Home\Docs\Visual Studio 2010\Projects\Platform\Werp.Preloader\EntitiesPreloader.cs:75
Werp.Preloader.InitData.Init() in D:\Home\Docs\Visual Studio 2010\Projects\Platform\Werp.Preloader\InitData.cs:127
Werp.Utils.DomainBuilder.PopulateData(Boolean checkIfPopulated) in D:\Home\Docs\Visual Studio 2010\Projects\Platform\Werp.Utils\DomainBuilder.cs:92
Werp.Utils.DomainBuilder.Build() in D:\Home\Docs\Visual Studio 2010\Projects\Platform\Werp.Utils\DomainBuilder.cs:72
Xtensive.Storage.Web.SessionManager.EnsureDomainIsBuilt() in d:\Home\DataObjects.Net\Xtensive.Storage\Xtensive.Storage\Web\SessionManager.cs:281
Xtensive.Storage.Web.SessionManager.get_Domain() in d:\Home\DataObjects.Net\Xtensive.Storage\Xtensive.Storage\Web\SessionManager.cs:154
Xtensive.Storage.Web.SessionManager.ProvideSession() in d:\Home\DataObjects.Net\Xtensive.Storage\Xtensive.Storage\Web\SessionManager.cs:240
Xtensive.Storage.Web.SessionManager.EnsureSessionIsProvided() in d:\Home\DataObjects.Net\Xtensive.Storage\Xtensive.Storage\Web\SessionManager.cs:287
Xtensive.Storage.Web.SessionManager.get_Session() in d:\Home\DataObjects.Net\Xtensive.Storage\Xtensive.Storage\Web\SessionManager.cs:174
Xtensive.Storage.Web.SessionManager.<System.Web.IHttpModule.Init>b__4() in d:\Home\DataObjects.Net\Xtensive.Storage\Xtensive.Storage\Web\SessionManager.cs:266
Xtensive.Storage.Session.get_Current() in d:\Home\DataObjects.Net\Xtensive.Storage\Xtensive.Storage\Session.cs:228
Werp.Controller.Services.WerpSessionProvider.GetItemExclusive(HttpContext context, String id, Boolean& locked, TimeSpan& lockAge, Object& lockId, SessionStateActions& actions) in D:\Home\Docs\Visual Studio 2010\Projects\Platform\Werp.Controller.Services\WerpSessionProvider.cs:75
System.Web.SessionState.SessionStateModule.GetSessionStateItem() +115
System.Web.SessionState.SessionStateModule.BeginAcquireState(Object source, EventArgs e, AsyncCallback cb, Object extraData) +768
System.Web.AsyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +96
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +184
The query is innocent and worked well with 4.3.5@18/10/2010

The bug is reproduced in the latest stable branch
UPD: The model is the same as in previous case, but
[HierarchyRoot]
was moved in the superclass in the hierarchy.Query: