Peguei sugestões fornecidas pelo sfletche sobre o uso de anotação e discuti o problema no canal freenode.net irc #django.
Os usuários FunkyBob e jtiai foram capazes de me ajudar a fazê-lo funcionar.
Como pode haver muitos compromissos para cada ordem de serviço, quando pedimos para pedir por compromissos, ele retornará uma linha para cada instância de compromisso, pois não sabe em qual compromisso eu pretendia que ele fizesse o pedido.
from django.db.models import Max
WorkOrder.objects.annotate(max_date=Max('appointment__start')).filter(work_order_status="complete").order_by('max_date')
Então, estávamos no caminho certo, tratava-se apenas de obter a sintaxe correta.
Obrigado pela ajuda, FunkyBob e jtiai.