This is duplicated in sandbox.
1. Create an event on a date.
2. Go to yourURL/civicrm/event/ical?reset=1&page=1
3. The date in the iCal feed will be wrong.
In the sandbox, 9pm becomes 5am the next day. On my system, 9pm becomes 3am the next day. It appears to be time-zone related. Here is the same event in sandbox represented in CiviCRM and the iCal feed:
Exciting Event (ID: 12) Yes January 31st, 2008 9:00 PM January 31st, 2008 11:00 PM