Thought I'd follow up on this with my final implementation, which was a bit different than my original plan. It's certainly not as straightforward or elegant as I'd hoped, but it works :)
The main sticky point is dealing with the Linux file permissions -- FreeSWITCH by default saves the recordings under the user and group it's running as, with 660 perms. Since the webserver and the node process both run under separate users as well, it made more sense to have the root user deal with the file manipulation. So...
1. Create a special directory to hold 'marker files', writeable by the FreeSWITCH user
2. Node process listens for the 'conference-destroy' event (this doesn't seem to be a well-documented event, but it exists!)
3. Since the file cleanup in mod_conference happens after the conference-destroy event, wait a small amount of time after receiving the event
4. Drop a marker file in the marker file directory
5. Run a periodic root cron job that inspects the marker file directory for new files, and process the ended recordings as necessary
This allows the cron idea offered by Sebastian without the concern about untimely moving of a file raised by Giovanni.