Rather than try to clear the "unwanted" records after the records have been queried, why not filter them out through the query? This will cause a subsequent trip to the database, but it will be a lot faster than looping the records in the block and clearing the unwanted records.
99% of the times, you should go with CraigB approach. But if you are in the other 1%, where criteria are hard to know before the post-query, you can just:
in the post-query trigger, and ... your record will be removed!
I've tried it in 11g, supose it also works in 6i.