Here is a query (and my test setup):
CREATE TABLE #ullig (id int NOT NULL,
date date NOT NULL,
cnt int NOT NULL)
INSERT #ullig (id, date, cnt)
VALUES
(215251, '1/23/2021' , 0 ),
(215251, '2/20/2021' , 0 ),
(215251, '3/23/2021' , 0 ),
(215251, '4/22/2021' , 17 ),
(215251, '5/23/2021' , 0 ),
(215251, '6/22/2021' , 0 ),
(215251, '7/23/2021' , 0 ),
(215251, '8/23/2021' , 0 ),
(215251, '9/22/2021' , 0 ),
(215251, '10/25/2021' , 0 ),
(215251, '11/22/2021' , 0 ),
(215251, '12/23/2021' , 0 ),
(215251, '1/24/2022' , 18 ),
(215251, '2/22/2022' , 46 ),
(215251, '3/23/2022' , 0 ),
(215251, '4/22/2022' , 0 ),
(215251, '5/23/2022' , 18 ),
(215251, '6/22/2022' , 48 ),
(215251, '7/25/2022' , 79 ),
(215251, '8/23/2022' , 110 ),
(215251, '9/22/2022' , 140 ),
(215251, '10/24/2022' , 171 )
go
SELECT *FROM #ullig
go
WITH numbering AS (
SELECT id, date, cnt,
row_number () OVER (PARTITION BY id, cnt ORDER BY date DESC) AS rownobycnt
FROM #ullig
), addlead AS (
SELECT *, lead(date) OVER(PARTITION BY id ORDER BY date) AS nextdate
FROM numbering
)
SELECT nextdate AS thedate
FROM addlead
WHERE rownobycnt = 1
AND cnt = 0
go
DROP TABLE #ullig