Within the actionBegin and actionComplete events when modifying a schedule event (args.requestType = "eventChange" or "eventChanged"), args.data contains the updated event data, as expected. The args.changedRecords also contains the updated event data. Shouldn't this hold the original event data instead?
Having the original values may be helpful or necessary when updating the backend database.