это что-то типа системы шумоподавления?...
попробуй self-join (жутко полезная штука)... нечто вроде
select {field list} from {SameTable} as T1
inner join {SameTable} as T2 where T1.UserID=T2.UserID and T1.NewStatus=1 and T2.NewStatus=0
and datediff(day, T2.OperationDate, T1.OperationDate) > @noiselevel and {прочие условия};
вместо параметра/переменной @noiselevel можно просто явно указать минимальное количество дней между датами отключения/подключения. Кроме того есть смысл (зависит от прочих условий) задать максимальное количество дней между датами (используй between). Предупреждаю что оптимизатор на этом запросе точно ласты завернет.... хотя 40 килострок в квадрате - не проблема если колонка UserID проиндексирована, конечно, ну и для прочих условий лучше все что надо тоже проиндексировать
(индекс по OperationDate тоже слегка поможет)