Nesses casos, eu faço o cast no resultado do meu GetMany.
var lista = Entidade.GetMany(criteria).Cast<EntidadeEspecifico>();
foreach(EntidadeEspecifico e in lista){ ... }
Aí no foreach é possível trabalhar com a entidade específica sem problema algum.