I periodically fetch mail from my ISP via fetchmail and sort it into my IMAP box via sieve. For some reason (reiserfs is crap?) it sometimes happens that cyrus needs to recover DB and it not available during this time - but fetchmail/sieve keep on going their job, of course.
So, it happens that that mail is being lost. I thought there would be some buffering queue or somthing but obviously it is not.
Nope, no spooling with LMTP.
1) Are those mails really lost?
Almost certainly.
2) What can I do about that problem?
Set up an MTA (exim, qmail, postfix, sendmail, etc.) on your local machine. Have fetchmail pass the messages to your MTA instead of directly to the Cyrus system. Let your MTA do the delivery to Cyrus.
Your MTA will spool messages that can't be immediately delivered; and retry periodically.
-Pat