You can not use a CASE condition in this way in a WHERE clause, you need at least a real compare.
You can re-write the query with boolean logic like this
UPDATE SPECIAL_MEMBER
SET SAVINGS_PERCENT = 10, ORDER_COUNT = 1
WHERE SPECIAL_MEMBER = '4382' AND
((CANCELLED = 0 AND Convert(date,MEMBER_EXPIRY_DATE + 15) >= Convert(date,GETDATE())
OR (CANCELLED <> 0 AND Convert(date,MEMBER_EXPIRY_DATE) >= Convert(date,GETDATE()))
)