I have checked that dynamic re-calculation does not work for a reference attribute. In my case this rule:
PurchaseOrder.TotalCost=PurchaseOrder.Freightcharge+SUM ItemOrder.ExtendedCost WHERE (ItemOrder IN PurchaseOrder.Items)
does not re-calculate the total cost of an order. Is there a way around or I have to live with it?