Спасибо, друзья!
Оба способа хороши, остановился на следующем:
X++:
while select myTable
where myTable.TransDate <= _getdate
notexists join myTable2
where myTable2.TransDate <= _getdate
&& myTable2.Key == myTable.Key
&& myTable2.TransDate > myTable.TransDate
{
info(strfmt("%1 : %2 : %3", myTable.Key, myTable.Value, myTable.TransDate));
}