Find rows matching only values from a specific list with SQL
One way would be to use NOT EXISTS.

SELECT *
FROM   YourTable T1
WHERE  Status IN ( 'Closed', 'Rejected', 'Cancelled' )
       AND NOT EXISTS (SELECT *
                       FROM   YourTable T2
                       WHERE  T2.Id = T1.Id
                              AND T2.Status NOT IN ( 'Closed', 'Rejected', 'Cancelled' )) ;


Or an alternative method if your DBMS supports windowed aggregates..

SELECT Id,
       Status
FROM   (SELECT *,
               COUNT(CASE WHEN Status NOT IN ('Closed','Rejected','Cancelled') 
                             THEN 1 END) 
                     OVER (PARTITION BY Id) C
        FROM   YourTable) D
WHERE  Status IN ( 'Closed', 'Rejected', 'Cancelled' )
       AND C = 0 ;


And another option using EXCEPT:

SELECT * 
FROM YourTable 
WHERE Id IN 
      ( SELECT Id FROM YourTable 
        WHERE Status IN ( 'Closed', 'Rejected', 'Cancelled' ) 
      EXCEPT 
        SELECT Id FROM YourTable 
        WHERE Status NOT IN ( 'Closed', 'Rejected', 'Cancelled' )
      ) ;