Why is the ORDER BY clause in a view ignored as soon as it's called with a WHERE claue?
The query you posted is not valid for creating a view; running CREATE VIEW xy AS for this query will result in an error. Are you using a TOP clause?

A view, being a table expression (a set), can't have the order defined, since that would be against the principles of a relational model (there is no order for rows in a relational table - a set is an unordered collection of tuples). Same goes for other table expressions - derived tables, CTEs etc.

From BOL article about the ORDER BY clause:  


  The ORDER BY clause is not valid in views, inline functions, derived
  tables, and subqueries, unless either the TOP or OFFSET and FETCH
  clauses are also specified. When ORDER BY is used in these objects,
  the clause is used only to determine the rows returned by the TOP
  clause or OFFSET and FETCH clauses. The ORDER BY clause does not
  guarantee ordered results when these constructs are queried, unless
  ORDER BY is also specified in the query itself.


Long story short: Use the ORDER BY clause in the outer query that references the view. Do not use it in a view. Even using it with TOP(100) PERCENT (or on SQL Server 2012, the OFFSET-FETCH equivalent) does not guarantee presentation order, it just means you'll get the top 100% of the rows, in any order.