As long as you are using DateTimeKind.Utc, 'Z' is there:
Appointment appointment = new Appointment();
Event newEvent = appointment.AddEvent();
newEvent.UID = "123";
newEvent.Stamp = new DateTime(2000, 12, 31, 23, 0, 0, DateTimeKind.Utc);
newEvent.Start = new DateTime(2000, 12, 31, 23, 0, 0, DateTimeKind.Utc);
newEvent.End = new DateTime(2000, 12, 31, 23, 59, 59, DateTimeKind.Utc);
Assert.AreEqual(
@"BEGIN:VCALENDAR
VERSION:2.0
METHOD:REQUEST
PRODID:-//Limilabs//Mail.dll//EN
BEGIN:VEVENT
UID:123
CLASS:PUBLIC
STATUS:CONFIRMED
DTSTAMP:20001231T230000Z
DTSTART:20001231T230000Z
DTEND:20001231T235959Z
END:VEVENT
END:VCALENDAR
",
appointment.RenderFinal());