I like this idea of using an iCal resource too !
I'm not enough familiar with the development of zimlet to know how much easy it could, and it appears to me more complex than a simple "data entry" zimlet which writes information in another database. But it may be not so hard to develop.
If it is possible to make this iCal resource only editable through the zimlet, then storing information and retrieving it would be only some text parsing (text would come from the event comments). The best integration of the zimlet would be that the zimlet would be automatically executed to modify a "timesheet event" when the user clicks on such an event, making for him transparent the fact that he's not able to edit directly the title and comment text of the event.
And I agree with you that this solution will be more modulable. If the basic timesheet information is stored in Zimbra and is accessible through an iCal ressource, then the timesheet external solutions would have just to parse the iCal stream (many libraries already available).
The only thing I fear now in this solution is that the information will be duplicated : one copy as an iCal resource in Zimbra, another in the external solution. To face this, I think that the solution in Zimbra should provide a webservice or any other form of integration to enable the locking of the iCal resource on a time slot. I think that this feature is required, because it could be crucial to project manager to lock for example the time reporting of the past weeks of his team members.
It would be good to have the opinion of the feasibility of the integration of thie solution with an external timesheet solution, from the point of view of someone working on such a timesheet solution (like Anuko for instance...

).
Anyway, it is good to see that the collective brainstorming is producing a better and better specification for this timesheet feature!