Does a non-clustered index make any guarantees about row order?
If you need order in your query results, put in an ORDER BY. It’s that simple. 

Check out this article from SQL Server architect Conor Cunningham which pretty much sums this topic up:


No Seatbelt – Expecting Order without ORDER BY