Doesn't look like the search and category list checks the moodle/course:view capability?
This is for version 2013051403.01, release '2.5.3 (Build: 20131111)'
So modified function get_course_records() in /lib/coursecatlib.php
and functions get_courses(), get_courses_page() and get_courses_search() in /lib/datalib.php
To check for has_capability('moodle/course:view')