Whilst asking another question, I discovered that SQL Server (happens both in 2005 and 2008) seems to have strange inconsistent behaviour when dealing with CASE
CASE
The evaluations in your first example will never change.
You are comparing a constant to a constant which will constantly result in a constant.
1=1 will always be TRUE. 1=0 will always be FALSE.
1=1
TRUE
1=0
FALSE