Det betyder at Id egenskabens klasse på elementerne i din liste ikke implementerer IComparable, som skal bruges til sorteringen (OrderBy). Nu er jeg ikke en haj til LINQ To XML, men noget tyder på at når du henter attributen ud, at du ikke får en streng, men i stedet et eller andet. Hvis alle Id'er er tal, så kan du blot konvertere til Int32 tidligere, det burde virke.
var statuses = from s in xml.Descendants("status")
select new
{
Id = Convert.ToInt32(s.Attribute("id")),
Color = s.Attribute("color"),
Topic = s.Element("topic").Value,
Content = s.Element("content").Value,
DateTime = s.Element("datetime").Value
};
//Finder seneste ID
int lastId = statuses.OrderBy(a => a.Id).Last().Id;