Why do you want to avoid using dedup? Dedup is by far the easiest way of doing this. Just |dedup host, source, sourcetype, Date, Name | , and that's all you need to do. Add that before the transaction.
Dedup will leave you with the most recent result from each duplicate set.
From the docs: "Events returned by dedup will be the first event found in search order, which is the most recent for historical search"
... View more