Если вы хотите проецировать только несколько столбцов из запроса, тогда вы можете либо
a) использовать DTO, хотя вы упомянули, что вам это не нравится по некоторым причинам
b)если вы REALLY
хотите получить список анонимных объектов, просто пропустите преобразователь результата, который приведет к списку анонимных объектов с прогнозируемыми значениями.Этого будет достаточно для привязки данных.
Также вам не нужно использовать только HQL для проектов, вы можете использовать Criteria, QueryOver или NH Linq.