Assuming FinishDate is NULL when the event is not complete. Also assuming that there has to be a row with matching id and event number 2 and that event 3 cannot happen before event 2:
SELECT t1.table_id FROM table t1 INNER JOIN table t2 ON t1.table_id = t2.table_id
WHERE t1.table_EventNum = 3 AND t2.table_EventNum = 2
AND NOT t1.table_FinishDate IS NULL
Note that I could not find anything wrong with your query other than the fact that you do not need a subquery.