Oh LOL I should have looked at the logs. There's a log produced by ajax search this on MySQL installations that don't have ONLY_FULL_GROUP_BY turned off.

--> PHP Fatal error: 3065:Expression #1 of ORDER BY clause is not in SELECT list, references column 'demo_157c.p.products_sort_order' which is not in SELECT list; this is incompatible with DISTINCT :: SELECT DISTINCT p.products_image, p.products_id, pd.products_name, p.master_categories_id, p.products_model FROM products p
INNER JOIN products_description pd
ON pd.products_id = p.products_id
AND pd.language_id = 1
WHERE p.products_status = 1
AND ((pd.products_name LIKE '%speed%' OR p.products_model LIKE '%speed%') ) ORDER BY p.products_sort_order, pd.products_name LIMIT 8 ==> (as called by) /Users/scott/Sites/demo_157c/includes/classes/ajax/zcAjaxBootstrapSearch.php on line 61 <== in /Users/scott/Sites/demo_157c/includes/classes/db/mysql/query_factory.php on line 170.

Workaround is to add to includes/configure.php

define('DB_MYSQL_MODE','NO_ENGINE_SUBSTITUTION');