Вы не можете иметь выражение сравнения в CASE, подобное этому
Я бы рассмотрел этот вариант, который изменит сравнение на нормальное выражение
...
AND
CASE @ActiveInactive
WHEN 'Active' THEN DATEDIFF(day, o.[orderinactivedate], o.[orderactivedate])
WHEN 'Inactive' THEN DATEDIFF(day, o.[orderactivedate], o.[orderinactivedate])
END > 0
Или это, и выможет иметь вычисляемый столбец в выражении SIGN()
SIGN(DATEDIFF(day, o.[orderinactivedate], o.[orderactivedate])) =
CASE WHEN @ActiveInactive WHEN 'Active' THEN 1 WHEN 'InActive' THEN -1 END