Versuchen Sie es mit ISNULL
Ich bin mir ziemlich sicher, dass der Grund darin liegt, dass beim Vergleich von IS NULL mit NULL das Ergebnis NULL ist, also False, weshalb es mit ELSE 1 ausgewertet wird
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