This is just a wild shot in the dark here, but after reading all that hectic commotion I think what Theo might be asking is: How does OpenGL apply the modelview matrix to each vertex? If this is the case (I beleive me, I dont know why he would want to know that) then the answer is OpenGL rotates then translates. This can be proven by looking at the code for a vector * matrix (or matrix * vector depending on how you look at it) multiplication:
xOut = xIn * m[0] + yIn * m[1] + zIn * m[2] + m[3];
yOut = xIn * m[4] + yIn * m[5] + zIn * m[6] + m[7];
zOut = xIn * m[8] + yIn * m[9] + zIn * m[10] + m[11];
Where the translation in m[3] m[7] and m[11] gets added after the rotation has been performed.
Now, that being said, I could totally be wrong on my view of the question, and also look at my math above, it also looks wrong, but even if the matrix indices are wrong, the translation still gets added after the rotation. (And PLEASE correct me if I am wrong). This is the way I’ve been using it, and it seems to have been working
Now how this relates to sorting billboards I have no idea