Select all rows with same ID when the last record of that ID meets the criteria
try with this:
with
last_row as (
select
ID,
max(date) as date
from test
group by ID
),

last_row_open as (
select
ID
from test
where ID in (select ID from last_row)
  and status='Open'
)

select
*
from test
where ID in (select ID from last_row_open)