I have to agree with Paul Thornett - you are not providing a meaningful order by clause. Yes it is interesting that SQL v7 and 2k return the results differently, but that is probably due to the way the values are popped off some internal stack.
The main thing to learn is that you can never rely on the order of data returned to you (even if using a clustered index - although I have done no testing {and an order by clause won't hurt for a clustered index anyway just to be safe}).
My 2 cents 🙂
Ian