I have written the following function to add a new appointment to any arbitrary user's calendar:

Public Sub AddNewTask(sRecip As String, sSubject As String, sBodyText As String, dDate As Date)
    Dim objDraftMsg As Appointment9
    Dim sMsg As String
    On Error GoTo AddNewAppointment_Err
    'Message & Header
    'Set objDraftMsg = GWRootAccount.WorkFolder.Messages.Add("GW.MESSAGE.TASK")
    Set objDraftMsg = GWRootAccount.WorkFolder.Messages.Add("GW.MESSAGE.APPOINTMENT", egwDraft)
    objDraftMsg.Recipients.AddByDisplayName (sRecip)
    objDraftMsg.StartDate = dDate
    objDraftMsg.EndDate = dDate
    objDraftMsg.AlarmTime = dDate
    objDraftMsg.AllDay = True
    objDraftMsg.AlarmSet = True
    objDraftMsg.OnCalendar = True
    objDraftMsg.AlarmReminderMinutes = 0

    objDraftMsg.Subject.PlainText = sSubject       ' Subject
    objDraftMsg.BodyText.PlainText = sBodyText
    'objDraftMsg.FromText = "SEMF Contact Manager"
    'objDraftMsg.Place = "SEMF Office"
    Set objDraftMsg = Nothing
    Exit Sub
    Set objDraftMsg = Nothing
    sMsg = "In: Sub AddNewAppointment()" & Chr(10) & _
           "Err.Number: " & Err & Chr(10) & _
           "Err.Description: " & Err.Description
    MsgBox sMsg, vbExclamation
End Sub
Note that GWRootAccount is a global variable that is successfully used elsewhere in my code.

When executing the above code, the following error message is returned:
"Update access is denied to current user".

A bit of background information: I was previously able to add a Task (rather than appointment) using much the same code, and can add a Personal Appointment to my own calendar but not to other users' calendars using much the same code. I need to be able to add an appointment to any user's calendar within our company Groupwise system using VB6 code.

Any suggestions why I'm getting this error message?