Отличное, вероятно, испортило порядок, попробуйте вызвать orderBy после отличного ()
var Customer = (from c in DNAContextSQL.Customers
where c.LastName != ""
select new
{
c.PKID_Customer,
c.OrganizationName,
c.FirstName,
c.LastName,
c.Phone,
c.Extension
}
).Distinct().OrderByDescending(c=>c.PKID_Customer).ToList();
Это происходит потому, что вы сначала выбираете набор строк, упорядоченных PKID_Customer (и ониупорядочены до тех пор, пока вы не вызовете метод Different ()), и после этого метод Distinct () перегруппирует их в новый отдельный неупорядоченный набор записей.