Intenta usar ISNULL
Estoy bastante seguro de que la razón es porque cuando comparas IS NULL con NULL, el resultado es NULL, por lo tanto, es falso, por lo que se evalúa como 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