Interesting... you need to sort by the same field you group by, or on a paged view the grouping is done per page!
And in a different view, a different, dumber problem...
drupal views datestamp sort
drupal convert datestamp to date
Datestamp wasn't the problem. Trying to sort on a field that didn't exist for that node type was! It appears to react to nonsense by sorting randomly, which I guess is fair...