I've seen this happen after a mailbox was manually deleted from the spool directory. quota would run through the users in order until it hit the corrupt one then abort, leaving all the remaining quotas in limbo.
Since reconstructing the mailbox didn't work, our "get things going before the users lynch us" fix was to export the mailboxes db with ctl_mboxlist -d, delete all references to the broken directory, rebuild with ctl_mboxlist -u then rerun quota -f.
You should be able to identify the offending mailbox by observing where quota gets up to before dying.
Yup, that did the trick!
Though interestingly enough the -x option to ctl_mboxlist didn't work, such that I had to move the old database elsewhere before doing the import.
Alec
p7s00000.p7s
Description: S/MIME cryptographic signature