Daylight saving or user changes time are very rare occasions

I would just do this:

Code:
while (first_item_in_list is too old) OR (list.count >= maximum user defined size)
  delete first item