So it appears that when a varchar is read, Qlik will try to convert the field to something native.. like dual(int), dual(double), int.. etc. If it isn't sure about the conversion, it leaves the type as unknown, which results in the load-order sorting. It appears that you can use the text() script function to force text type which will, presumably, have alphabetic sorting by default.