Trying your suggestion now.
I think it may be narrowed down to Postfix somewhere, actually. Postfix uses the mysql-virtual_*.cf files for validation, right? It doesn't use the Dovecot queries, does it? For instance, when it says (user unknown) in the mail.log as above, that's postfix correct? Or, has it handed the message off to dovecot already?