Hi Andrew, I can't reproduce it at NH of the trunk. I do this:
Code:
IList<Order> list = s.CreateQuery("from Order o where o.Price = 10").List<Order>();
Order A1 = list[0];
A1.Weight = 100;
IList<Order> list2 = s.CreateQuery("from Order o where o.Color = 'red'").List<Order>();
Assert.AreEqual(100,A1.Weight);
After the 2nd query, A1.Weight remains with the same value. All in the same session.
Those because NHibernate get the same instance from the first level cache. NH1.2.1 must have the same behavior.