I'm not sure if I'm missing something but I know I didn't need a lot of storage space for my migration process. At any point in time I would only need storage space to hold a single folder from a single user's account. This is a small issue compared to what follows but I just thought I'd include it.
The big issue is that you're saying imap is fairly reliable.
That would be fantastic news as I'm sure others would be glad to know there is an easier migration path from FirstClass than there used to be.
I wonder if we can be sure that it's more reliable.
I often tested with small accounts only to find the problems later while migrating larger accounts. If you're not already, then you might try a medium to large account with many folders and subfolders as a test every now and then.
This brings up one of the many issues I ran into with FirstClass. It allowed multiple folders at the same level to have the same name. Zimbra doesn't (or at least didn't) allow this. FirstClass allowed the use of certain characters in folder names that Zimbra didn't allow. This second problem might be able to be resolved by the use of imapsync's --regextrans2 parameter. My migration method took care of both of these problems.
Here's a quote from a May 2009 post where someone claims imap is broken with no hope to be fixed.
"Don't bother with imapsync, it won't work. FC IMAP is broken. Period. Even their product manager Scott Welch agrees that IMAP is broken (his suggestion for using IMAP is to have two separate FC accounts, one you access via the client, one you access via IMAP, and don't ever mix the two). They have no plans to fix IMAP, but will gladly advertise it as working in all their product literature."
Here's another post in June 2010 from the same user.
I don't think the user indicates what version of FirstClass they are using.
On the upside I did find this post July 2010 that indicates someone is migrating large mailboxes from FirstClass using imapsync.
Issue migrating large mailboxes from FirstClass to Dovecot
This thread is a little long but well worth the read if you are trying to use imap to migrate FirstClass. The short version of the story is that using the latest versions of imapsync (1.359) and Mail::IMAPClient (3.25) you may very well be able to migrate from FirstClass using imap. You may need to include some special parameters for imapsync as indicated in some of the thread posts though.
I think this information would be invaluable to administrators who are looking to migrate from FirstClass so if you are able to confirm that it works please post here.
Of course, you still won't get the "sent" email unless you do as you suggested by copying them and "unsending" them.
I still think there is nothing imap can do to migrate things like "uploaded files" or "collaborative documents" but please correct me if I'm wrong.
I think imapsync is a very powerful tool and would be better suited to your task than the script you mentioned. I'm probably not understanding your requirements though. Does the script you are using handle syncing or will you just disable a user's account and migrate in one shot?
I hope you understand that I don't have a particular interest in my method being used.
I just don't want anyone to go too far down a path (imap) if it ends up failing in someway.
I spent many months working around FirstClass issues and I don't wish that on anyone else.
Please let me know what your results are with imap reliability.