Consider the following System Center Configuration Manager 2007 scenario:

1. You create a query based collection.
2. You update and refresh that collection and it works correctly.
3. You go to the properties of that collection and edit the query it uses so that it should display different machines.
4. You update and refresh the collection.

After doing this the machines in the collection may still reflect the original query and never be updated.

Read the rest of the article here