• Just to be clear, Bart's example is compiled as:

    SELECT CASE WHEN 0 <= 0 THEN 0 ELSE LOG10(0) END;

    ..which also gives the error (when it should not). Reproduces on 2005 (build 0.05254) and 2008 (build 10.0.4272) for me.