Jay,
The way I handle this situation is that I long ago I stopped using filters at all. I use SELECT to get the records I want in the cursor and order them the way I want them ordered. No filters, no variables to go out of scope, no THISFORM to get barked at by the SET FILTER condition, and only the records I want in the cursor. With Rushmore it is nearly as fast as a filter, even filters can get slow when using a grid to display the data.