What we do is use Audiences.
We have created an Audience with course completion criteria and set up the next course enrolment based on that Audience so when the learner completes the first course they are put into the Audience and that in turn allows them to enroll in the next course. If they are not in the Audience then they can't enroll in the next course.