Aaron,
Good - usually I forget to change the timestamp so it is in my own time zone instead of UTC, so the processing can be off by a few hours ;)
Which which to use, Flatfile enrolment or User
upload?
Use one or the other but not both for the same enrolments. Both are just ways of adding manual users in bulk. They do the same thing in the end: enrol a user with a manual enrolment in the course.
Flat file was really designed to be used when you are pushing the enrolment data from another system and putting it on your
server.. You can put the file there by hand of course, but the original idea was it would be automated. (This is why it uses the idnumbers for its users and courses, since the original purpose was to match up some external system id that users may have.)
With Flatfile, there's minimal error handling at the server level and no reports inside Moodle, so it's hard to know what is going on unless you can spend time on the server and in the
database. Especially in the case of future enrolment start dates.
The User upload tool on the other hand handles many other user tasks than just enrolments, unlike the Flat file enrolment tool. You will probably be using it for other user related tasks, anyway. Upload users has lots of error checking when you use it, so you can spot bad data and fix it easily.
For future enrolment start dates, Upload user does immediately enrol such users in the course: it marks those users it as "Not current" in the Participants list.
Cron will run and then check the date set for the enrolment to start and then turn it on at that date and make the user Active.
That could be a real advantage for future enrolments, as you can see the users already in the course waiting to be enabled. A teacher, for instance, can see all the future users that will one day be active in the course. And if you need to manually intervene and change the enrolment start time in a course for a specific user, or make them Active immediately, you can easily do that in the Participants list.
Each tool has its purpose. Which is better depends on your situation.