...ho notato che non sono nemmeno messi in ordine temporale
non credo che gli eventi nel file esportato debbano seguire l'ordine di scadenza, non so quale ordine seguano, forse quello di creazione, forse non c'è neanche un ordine.
BEGIN:VEVENT
DTSTAMP:20100319T084405Z
UID:B3BDB2A5-F9CD-4B34-9089-7EF61A913F4E
DTSTART:20100325T230000Z
DTEND:20100326T230000Z
SUMMARY;ENCODING=QUOTED-PRINTABLE:TESTO PERSONALE
CATEGORIES;ENCODING=QUOTED-PRINTABLE:Senza categoria
LOCATION;ENCODING=QUOTED-PRINTABLE:testo personale
END:VEVENT
Ho controllato meglio e nel post precedente ho scritto una cosa inesatta. Gli eventi di tutto il giorno dovrebbero essere espressi nella forma
senza l'orario e non con tempo 000000 (vedi le specifiche iCalendar
qui).
Quindi il tuo evento viene interpretato correttamente da Sunbird come un evento che parte dalle 00:00 del 25/3/2010 alle 00:00 del 26/3/2010 (dove 00:00 secondo il fuso orario di Roma sarebbe 230000Z cioè le 23:00 UTC), cioè un evento che dura 24 ore ma non un "evento di tutto il giorno" che invece avrebbe dovuto essere:
DTSTART:20100325 oppure DTSTART;VALUE=DATE:20100325
DTEND:20100326 DTEND;VALUE=DATE:20100326
Sembra quindi che sia MS Works a sbagliare in questo caso (se hai impostato correttamente l'evento).
Per un confronto, anche il calendario di Google non interpreta quell'evento come un evento di tutto il giorno.
Forse una cosa che potresti fare prima di esportare da Works sarebbe di impostare (in Works) il fuso orario corretto in modo da eliminare gli orari espressi in UTC (la "Z" dopo gli orari), ma non cambierebbe nulla per gli eventi di tutto il giorno.
Oppure un bel "cerca e sostituisci" nel file di testo (una copia) sostituendo "T230000Z" con "" (stringa nulla) ma andrebbe fatto con attenzione per non cancellare anche orari che non c'entrano nulla. A tuo rischio e pericolo

.