I've been programing in awk since 1986. The Aho, Weinberger, Kernighan version of awk was always quite outspoken about "no user control" of the output order from a "for (i in a)" ... However, Gnu awk (aka gawk) "is not your father's awk" (I'm quite certain that quotation comes from someone who had people like me in mind)
http://www.drdobbs.com/open-source/gnu-awk-this-is-not-your-fathers-awk/240158351
gawk has several methods to control "sorting arrays" ... read the docs or google the following:
asort()
asorti()
PROCINFO["sorted_in"]