NULL value self comparison in a table
This is a surprising behaviour but from MSDN page, SET ANSI_NULLS, we can at least know that is the expected behaviour. One more reason to never use ANSI_NULLS OFF:


  SET ANSI_NULLS affects a comparison only if one of the operands of the comparison is either a variable that is NULL or a literal  NULL. If both sides of the comparison are columns or compound expressions, the setting does not affect the comparison.