Apparently timer is a special case, so I would just do exactly what the manual recommends.
But in general how you want to filter, depends on what you are comparing in your conditions. My code in the previous post is a good example on that.
If you for instance only want to filter based on instance variables for one objects instances, you don't need 'for each'. Say you have a sprite with two instance variables, and want to filter on their value, this would do;
sprite1 hitpoints = x
sprite1 state = y
Then you would end up with all the instances having these values.
But if your conditions for example involve comparisons between 2 objects and multiple instances from each, you have to be more careful, and think about exactly what you want (revisit my previous post for example on exactly this).