On a linux box, grep -A piped into grep -B with the output redirected into a new file always sorts me out. (Probably egrep works the same on other platforms)

The trick is :
1. Identify the exact start of the records you want to filter out
2. Identify the exact end of the records you want to filter out
3. Make an intelligent estimation of the number of lines contained in between the start & end entries.

Otherwise, sed may have some pretty neat solution if you dig deeper.