My understanding is that custom fields do not contain null values in the true sense of the word. To add a custom field, you must first create a field definition, then add a field object to the appropriate object in the message store using the definition (i.e. address book entry, calendar entry etc). When you add the field to the object, you must provide a value for the field at the same time. In order to ‘remove’ the value you need to either provide a value to represent a null (i.e. with string custom fields you need to set the value to a space character in order to ‘clear’ its value). For example, you could set the date field to date representing a null value as far as your application is concerned (such as 1/1/1899). Howver, this could be an issue if you display the value somewhere in the GroupWise client. Your other option would be to remove the field object from the message that contained it. Of course, you would have to modify your applet to take this into account when trying to read the value of the custom date field.
In terms of auto-excepting appointments, could you post an example of what you have tried so far.