If the user tries to drag-reorder two tasks that are sorted a certain way because of their *date*, they could be shown a dialog:
It looks like you want to do the task *Buy the gift* /before/ the task *Pack the gift in a nice paper*, but it has a /later/ due date. Do you want to change the due dates of these tasks?
Buy the gift [ date entry ]
Pack the gift in a nice paper [ date entry ]
Another thought:
If the user tries to drag-reorder two tasks that are sorted a certain way because of their *date*, they could be shown a dialog:
It looks like you want to do the task *Buy the gift* /before/ the task *Pack the gift in a nice paper*, but it has a /later/ due date. Do you want to change the due dates of these tasks?
Buy the gift [ date entry ]
Pack the gift in a nice paper [ date entry ]
[ CHANGE DATES ] [ CANCEL ]