Thank you for a very detailed answer Raj.
Given that the number of deleted likes should relatively small, I am also considering the option of using a LIST of deleted likes alongside the LSTACK of likes, in which case I can read from the LSTACK then filter out any records which exist in the deleted LIST. This could presumably be done inside a Record UDF for performance.
In addition to the original question, I also need the ability to paginate through the list of likes - this could be done in a less than optimal fashion using an LSTACK peek (i.e. for results 50-100 one could peek 100 and discard the first 50).
In Redis this whole scenario is relatively easy using Sorted Sets with the ‘SCORE’ being an epoch timestamp to enable correct ordering.
I found an answer related to this on stackoverflow from Nov '14 - are there now any examples of how one can emulate the functionality of a Redis Sorted Set in Aerospike?