Cyrus IMAP, Postfix, and the MySQL glue is all you need to produce a reliable, scaleable IMAP backend solution. If you want people to have settings move around with them too, then look into programs which support ACAP.
More information on what I'm talking about, visit the CMU Cyrus Project homepage. Properly done, you'll be able to have whatever custom solution you want for controlling the users in the SQL db (as well as access lists, MTA level filters, etc), and can stick procmail on their for filtering specific mail into separate end user imap folders. I keep meaning to write up how I did this on my LAN for other people on Kuro5hin ;)
[ イノシロ ]