houldn't course creators then have the permission to restore to a new course, if they can create new courses anyway?
Yes, yesterday, when I was writing my response, I thought that you were going to answer
exactly this (telepathy perhaps, or only a bit of logic).
I'll try to do it, but I've to analyse it...
are there any directions on writing a backup/restore libs for backing up/restoring a new module coded by ourselves?
It's possible, sure. The backup & restore utility has been designed to be modular with Moodle's modules, so creating the backuplib.php and restorelib.php files and including the module_get_participants() function in your mod/module/lib.php should be sufficient. I recommend you to take a look inside every mod/XXX dir (select a similar mod) to see what you need to include in your module.
If you have questions about it, I'm here!!
Ciao