Did you ever work out how to do a "SELECT DISTINCT" for a single field with Aurelius? I've tested with .RemovingDuplicatedObjects, but if more than one object/row has the same field value (email in your example), then multiple objects are still returned, presumably since other fields are unique.
My current query is:
var
Results:TObjectList<TCriteriaResult>;
...
Results := ObjManager.Find<TContact>
.Select(Linq['EMail'])
.OrderBy('EMail')
.RemovingDuplicatedEntities
.ListValues;