Testa att använda ISNULL
Jag är ganska säker på att anledningen är för att när du jämför IS NULL med NULL blir resultatet NULL, alltså False, därav varför det utvärderas till din ELSE 1
SELECT c.customerID, o.OrderID, CASE When ISNULL(o.OrderID, 0) = 0 Then 0 Else
1 End as YesNO
FROM Customers c
LEFT JOIN Orders o
ON c.customerID = o.customerID