Я бы второй запрос переписал вот так
X++:
select firstonly RetailItemPriceHistory2
order by TransDate desc
where RetailItemPriceHistory2.ItemId == itemId
&& RetailItemPriceHistory2.InventLocationId == InventLocationId
&& RetailItemPriceHistory2.TransDate < "05.01.2011"
&& RetailItemPriceHistory2.NewPrice;