Lets say I have 5 subtasks under a main task. If 4 of those subtasks don't have a tag but 1 does, it will bring the subtask with a tag to the top of the list even if it's due date is after the other 4 subtasks. I remove the tag and things move back to the proper order. I apply a tag and the subtask moves back to the top of the list... all other aspects of the 5 subtasks being equal. I don't believe that tags should have anything to do with subtask sort order.
Also, I am using Due Time as a work around to get my subtasks in the right order but will love it when I can specify the subtask order similar to how I can with Folders or in Basecamp. I can't wait to see how you end up implementing this!
Subtasks are sorted using the same criteria as how you are sorting your tasks. So, if you are sorting your tasks by "tag" then your subtasks will also be sorted by "tag" which will cause any subtasks with a tag to appear above subtasks without a tag.