Njain ... wieso sollte sowas auch gehn sollen?
aber wenn du dir diese Enums in ihre Ordinalwerte umwandelst, dann sind es Integer und damit ginge es.
FSortDir := TSortDir(Ord(FSortDir) + Ord(sdAscending));
.
Pass aber auf, daß du nicht den "Wertebereich" deines Enums verläßt ... wer weiß, wie dein Programm dann reagiert, wenn es ungekannte Werte vorfindet.
[edit]
mißt, da war wer 'ne Millisekunde schneller