Hi,
So I understand you're using the filter system of HikaShop for your search. And thus you're using with it a menu item configured to display all the products, upon which the filtering is done. I think that's where the issue. When the system loads the sub categories of the menu item, in order to then load the products of these categories, it doesn't add a check on the access level of those categories.
Try changing the line:
$children = $categoryClass->getChildren($pageInfo->filter->cid,true,array(),'',0,0);
to:
$categoryFilters = array('a.category_published=1');
hikashop_addACLFilters($categoryFilters,'category_access', 'a');
$children = $categoryClass->getChildren($pageInfo->filter->cid,true, $categoryFilters,'',0,0);
in the file components/com_hikashop/views/product/view.html.php and it should then take the access level of the sub categories into account.
Please let us know how it goes so that we can include the change for the next release of HikaShop.