Question: Is there any reason why or why not you should do an 'order by' in a subquery?

Answer: 
Smarter people say that is not proper/valid way to do it.
In my case SELECT TOP 100 PERCENT in sub-query solved the problem.

Cheers
Depending on the size of the sub-query, it will impact performance to a varrying degree.

Order shouldn't matter on a sub-query though. You should be able to move the Order By portion to the Outer Query (which should be the one returning the final results).