When you combine result sets using UNION the ORDER BY part must be on the last query and it will apply to all the combined record sets...
If you have to apply different ORDER BY to each and every query (like when you have TOP(n) in them so ORDER BY makes all the differences), you have to enclose the queries like this:
SELECT * FROM (SELECT fld1, fld1 FROM tbl1 ORDER BY fld1))
UNION
SELECT * FROM (SELECT fld1, fld1 FROM tbl2 ORDER BY fld1))