I ran into some incompatibility between this module and iCal.app. When I schedule an event for 6pm in my local time zone, the time stamp generated is 20100219Z (no hh/mm/ss), but iCal.app ignores entries that are missing the time stamp, e.g. 20100219T000000Z. I emailed the author--he responded very quickly and explained to me that these two ISO dates mean very different things, the former refers to an entire day while the latter refers to a specific time. This seems to support the idea that this is a bug in Date::ICal since there it is impossible to generate a timestamp that refers to the time midnight in GMT.
The author was very hesitant to change this behavior since it has been in production environments for years. Instead he strongly encouraged me to use the DateTime module. For anyone else looking to do this, I've had some success doing this:
my $dt = DateTime->from_epoch( epoch => $due );
my $start = $dt->ymd('') . 'T' . $dt->hms('') . 'Z';
Other than this one bug, the module is great--I'm only rating it low so that other folks know to look to DateTime.