Realised now that this is an X-Cart bug that causes search.php to have problems with GETting variables from the URL when Extra Fields module is enabled.
I made a link to a search (this is the link from the 'This page URL' in the search results:
http://batterycenter.com/search.php?mode=search&by_title=Y&by_descr=Y&by_sk u=Y&search_in_subcategories=Y...y_shortdescr=Y
The search returns 199 products.
Then I cleared the session (to imitate a first time visitor) and clicked on the link. I get 6 results. This is because search.php is only looking in Extra Fields and I do have 6 products where an extra field includes the substring 'battery'.
I went to the admin area and turned off the Extra Field module. Then I cleared the session and clicked the link. I get the correct 199 results. I went back into admin and turned on Extra Fields again. Cleared the session and clicked the link - 6 results.
Bug has been reported