firstly, can you check if the enrolments in your server have any expiration date? To do so execute this, plz:
SELECT * FROM mdl_role_assignments
WHERE timeend > 0
does that return any assignment? If so, it means the course has some "enrol duration" defines, as commented above, and that means that all the enrolments in those curses will have expiration date (i.e. will be removed).
The 2nd cause I can imagine for users being unenroled is that you have defined the "longtimenosee" variable and the students you are being unenroled as they are more than ZZZ days without access to the course. Plz, check it (if you use to save moodle cron output, you can look for the "removing user XXX from course YYY as they have not accessed the course for over ZZZ days" string.
And those are the only two causes for "automatic unenrolments" to happen if using manual enrolments. I really cannot imagine another one. Could you, plz, check them?
TIA and ciao