Trigger event scheduled reminders on registration date or change of participant status
Well, it turns out that half of this has a very simple answer - so simple that probably every one else is already doing it!

To send an email when someone registers can be simply achieved by creating a scheduled reminder set to go sufficiently early enough before the event's start date that this time is in the past. This way everyone who registers will do so after the date the email is set to go, and so they will receive the email.

You need to be careful with this method - if you make such an email after people have started registering for the event, then everyone who has registered prior to the date the email is set to go will get the email. 

To only send the email to some of the currently registered participants, now or in the future, you could put those participants into a group, and choose to 'limit' the scheduled reminder that group. 

Regarding sending emails based on a change of participant status - Jitendra tells me that this would require significant additions to how scheduled reminders currently work. 

So instead, we have written a rather skimpy extension to cobble through the job - feel free to connect if you'd like a copy.