Edit: Updated to meet new requirements.
As I said in my comment, you could do something like this.
It's not the prettiest/fastest code in the world, but it will get the job done:
Sub GetMostRecentApproved()
Application.ScreenUpdating = False
Dim OutputSheet, x, OtherID
OutputSheet = "Sheet3"
'Clear the OutputSheet
Sheets(OutputSheet).Cells.ClearContents
'Copy our data to the output sheet
Sheets("Sheet2").UsedRange.Copy Sheets(OutputSheet).Range("A1")
'Sort by Plan ID, Status, Status Date (Oldest to Newest)
ActiveWorkbook.Worksheets(OutputSheet).Sort.SortFields.Clear
ActiveWorkbook.Worksheets(OutputSheet).Sort.SortFields.Add Key:=Range("C:C"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
ActiveWorkbook.Worksheets(OutputSheet).Sort.SortFields.Add Key:=Range("K:K"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
ActiveWorkbook.Worksheets(OutputSheet).Sort.SortFields.Add Key:=Range("L:L"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets(OutputSheet).Sort
.SetRange Sheets(OutputSheet).UsedRange
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
'x = 2 assumes we have headers
'This pass deletes all non-unique rejected rows
With Sheets(OutputSheet)
For x = 2 To .UsedRange.Rows.Count
If UCase(.Range("K" & x)) = "REJECTED" Then
Set OtherID = Union(.Range("C2:C" & x - 1), .Range("C" & x + 1 & ":C" & .UsedRange.Rows.Count))
If Not OtherID.Find(.Range("C" & x).Value, LookIn:=xlValues, LookAt:=xlWhole) Is Nothing Then
.Range("K" & x).EntireRow.Delete
x = x - 1
End If
End If
Next x
For x = 2 To .UsedRange.Rows.Count
If .Range("C" & x) = vbNullString Then Exit Sub
If .Range("C" & x + 1) = .Range("C" & x) Then
.Range("C" & x).EntireRow.Delete
x = x - 1 'careful with that iterator eugene
End If
Next x
End With
Application.ScreenUpdating = True
End Sub
Sheet2 Input:

Sheet3 Output:
