Not sure if the hotpot module is converting ampersands correctly. $heading and $title are set up differently than in other modules: instead of outputting $course->title, a temporary $title variable is created and assigned that value. That made it difficult for me to decide whether it was already formatted elsewhere or not.
Also I didn't format_string() any of the variables included in $navigation rings, because I assume these strings get processed by print_navigation(), which includes format_string().
Now backup of one course is ENTIRELY encapsulated inside backup_scheduled.php.
And a backup of EVERY course can be executed invoking try.php.
Backing up to a custom directory is working too !!
They are preliminary versions, of course, but seem to work fine :-)
Now I'm going to make all the necessay structures to support the cron system
and to be able to inform the admin about every scheduled backup process.
Ciao :-)