Following from the (now closed) discussion, I am grateful to Nicholas Bovee who offered in 2015:
In the CSS, I simply used the "data-courseid" attribute to target the metacourses I wanted to make invisible on the front page. This is manageable if you only have a few specific courses you want to keep invisible.
For example: #frontpage-course-list .coursebox[data-courseid="116"] {display: none;}
To hide the metacourse not only on the frontpage but also on the category page, I added the following code to my theme's CSS (in this example, the metacourse number is 27):
.coursebox[data-courseid="27"] { display: none; } /* this hides the metacourse but still allows enrolment */
To hide the metacourse from the "My courses" area of the Navigation block:
.block_navigation .block_tree .tree_item[data-node-key="27"] { display: none; } /* this hides the metacourse from the "My courses" list in the Navigation block */
HOWEVER, if you want to display the course description on the enrol page (in my case, paypal/enrol.html, you need to hack the core file with:
<?php if($course->id == "27") { ?><style type="text/css">
.coursebox[data-courseid="27"] { display: block; }
</style>
<?php } ?>