When messing with virtual mail boxes stored in mysql for postfix make sure to append a / for the directory described in the postfix.mailbox.maildir column. If you don’t do that, then you can accept mail at the virtual user / domain but it will not be stored in the maildir format. Which will cause courier-imap to complain.
simple. yet not.