I found a solution in an older thread:
File: configurable_reports/components/filters/courses/plugin.class.php:
comment 3 lines in original code: ************* START (about line 78)
// if (!empty($courselist)) {
// list($usql, $params) = $remotedb->get_in_or_equal($courselist);
// $courses = $remotedb->get_records_select('course', "id $usql", $params);
and replace by:
if(!empty($courselist)){
list($usql, $params) = $remotedb->get_in_or_equal($courselist);
$sort='fullname'; //to sort course by name
$select='visible=1'; //to only show those that are visible
$courses = $remotedb->get_records_select('course', $select, $params, $sort);
...
Does the trick.
Now in course-list only visible courses are listed.