It was the Start/EndTimeZone fields that were causing the problems.
Turns out the error had to do with the tmpStartDate1 field formula in the Appointment form.
In the formula, it was referring to the StartTimeZone field value, which I was setting incorrectly. Once I corrected that, it doesn't look like the Appointment form cares how I format all the other Time/Date fields. So, I went back to setting the Time/Date fields to LSLocalTime with the full datetime value and all is well.
I sure wish there was an easy way (i.e. a method call) to assemble the TimeZone string.
Feedback response number BFIS7ZVR9E created by Bill Fields on 01/20/2010