If you issue a REFRESH, the RECURRENCE-ID property can only be specified if you want a refresh for a specific occurrence. Otherwise, you would be issueing a REFRESH with a UID, SEQUENCE two-tuple to identify the whole recurrence set.
If you issue a REFRESH for a RECURRENCE-ID that doesn't exist anymore (i.e., SEQUENCE is "stale" and the RECURRENCE-ID doesn't correspond any longer to an occurrence), then you should get an error.
The response to the REFRESH for the whole recurrence set could be the initial REQUEST, followed by the reschedule REQUEST, in a multipart/related container. Right?
Another approach, that may be inline with your original thoughts, would be to send a single REQUEST with the RRULE for the original recurrence set, the EXDATE to negate the original occurrence that was rescheduled and a RDATE for the newly scheduled occurrence. Now I see what you were suggesting in your original note. However, as I pointed out, this form of the iCalendar object probably should not be used to reschedule an individual occurrence but might be a good approach for responding to the REFRESH.
Glad you are back involved in the mailing list.
-- Frank