It sounds like you are getting into the correct server behavior on the results page. Since the trigger is set to Search_x this means that you will only trigger a new search when there is a parameter of Search_x in the URL when you visit this results page.
Since you are passing only the subcategory in the link to this page you are not triggering a new search and will instead get the results from the last time the search server behavior was triggered.
To get it working correctly you will need to add the Search_x parameter to your links that have the subcategory. What I meant by an example link is one that you are using that is taking you to the results page with the old search results present. The URL should have the subcategory id in it, if you add in the Search_x parameter it should trigger a new search based on the values you are passing in from the URL.
If you have any further trouble with this please post back with the results page in question that has the DataAssist Search server behavior on it in a zip archive.