I think you are wrong when you try to setup the sort direction in the the sort expression itself. You should use the SortDirection property of the GridViewSortEventArgs instead:
Replace
sortedView.Sort = e.SortExpression & " " & SortDir
with
e.SortDirection = direction
You can also get rid of your SortDir variable.