I am also looking for a way to enroll and authenticate users via an external database because we have another system where students and course memberships already resides.
So you can authenticate users in an external database. But obviously all users also exist in Moodle (everything you do as a user is stored and tracked in Moodle). Does this mean that it is not possible to maintain an external database with users (and their course/group memberships, password, etc.)? Because, for example, when you remove a user in that external database the Moodle database does not "know" this.