This doesn't really work if you have multiple systems you want to access your mail from. There's no way to keep those systems in sync with each other, some folks fake it with dropbox-like services, but that's honestly not much different than just pulling over imap each time you open the mta...
I use offlineimap[1] and it absolutely does work. It keeps everything on the IMAP server while giving me a local copy to work from. It's super simple to setup and use, and I'm really happy with it.
Interesting, I might have to give this another go. For my work mail, I use mbsync to store it locally, but I only have one system doing that. Personal email is a different matter, especially since some systems accessing it (e.g. my phone via K-9) would like to know if a mail has been read on another system (e.g. one storing mails locally). Does offlineimap handle that situation?