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?