I think the bit that you might be breaking then is the SQL updates. You're asking EV to process hidden mailboxes, but you're setting the flag to say that it's a 'normal' mailbox, but they're not.
Have a look at:
https://www-secure.symantec.com/connect/forums/exchangemailboxentry-admbxflags
Further to that on my Exchange 2003, EV 10.0.3 system I just simply set the registry key for processing hidden mailboxes, and restarted my EV servics, then hid a mailbox [whilst I was logged into it from Outlook]... ran provisioning...
Mailbox now shows as:
MbxArchivingState = 1
MbxExchangeState = 2
ADMbxflags = 1
.. in the ExchangeMailboxEntry table in the Directory Database.
.. and then ran the mailbox archiving task at it's scheduled time (ie no 'run now').
It processed the mailbox fine.
So to summarise.. set the registry keys.. and that's all. (No SQL stuff)
I'd suggest that running the SQL queries is affecting the scheduled task (but that run now is happy to override the values).
Also if you want to process company leavers take a look at the QUADROtech Archive Leavers tool.
By the way, do you have the flag on the policy set to archive unread items? Maybe that's the bit that is confusing things?
If doing those things doesn't work, then maybe a DTRACE would shed some light on things. You could add a filter (so as not to have an enormous DTRACE file) using some of the bits of this perhaps...
1006525 16:50:29.378 [3164] (ArchiveTask) <916> EV:H {CMailboxUsage::SetMailboxInUse:#196} Added [/O=EV TRAINING/OU=FIRST ADMINISTRATIVE GROUP/CN=RECIPIENTS/CN=JEFF1] to list of mailboxes to be processed. List now contains [5] mailboxes.
1006526 16:50:29.378 [3164] (ArchiveTask) <916> EV:L {CExchangePolicyCache::GetDefaultPolicy:#272} Default policy is [17E238F3AE05910489026E797A80524A61012700ev1a.EV.Local (Default Exchange Mailbox Policy)]
1006527 16:50:29.378 [3164] (ArchiveTask) <916> EV:L {CPolicyTargetGroupCache::GetUsersPolicyTargetGroup:#225} Found entry for user [/o=EV Training/ou=First Administrative Group/cn=Recipients/cn=jeff1] in cache.
1006528 16:50:29.378 [3164] (ArchiveTask) <916> EV:L {CPolicyTargetGroupCache::GetUsersPolicyTargetGroup:#250} User [/o=EV Training/ou=First Administrative Group/cn=Recipients/cn=jeff1] maps to policy [1B123E86FDAD5CE41B5D46E4BEAABCD731012p00ev1a.EV.Local] [prov1]
1006529 16:50:29.378 [3164] (ArchiveTask) <916> EV:L {CExchangePolicyCache::GetPolicy:#245} Returning policy: [17E238F3AE05910489026E797A80524A61012700ev1a.EV.Local (Default Exchange Mailbox Policy)]
1006530 16:50:29.378 [3164] (ArchiveTask) <916> EV:H {CArchivingAgent::SetPolicy:#23365} [/o=EV Training/ou=First Administrative Group/cn=Recipients/cn=jeff1] is using policy [Default Exchange Mailbox Policy].
1006531 16:50:29.378 [3164] (ArchiveTask) <916> EV:M {CArchivingAgent::ProcessMovedItemsInFolder:#25944} processing moved items in folder [\Inbox\1000 items] for user [/o=EV Training/ou=First Administrative Group/cn=Recipients/cn=jeff1]
1006532 16:50:29.378 [3164] (ArchiveTask) <916> EV:M {CArchivingAgent::ProcessMovedItemsInFolder:#25946} archive id for user [14CE58529509B8546ACC5E8948B254CDF1110000ev1a.EV.Local]
1006533 16:50:29.378 [3164] (ArchiveTask) <916> EV:M {CArchivingAgent::ProcessMovedItemsInFolder:#25947} archive folder id for folder [17A0BDE0AC188DC44A69790D34C71C2F51110000ev1a.EV.Local]
1006534 16:50:29.378 [3164] (ArchiveTask) <916> EV:M {CArchivingAgent::ProcessMovedItemsInFolder:#25948} retention category for folder [10223FE2A4886AF448B794B63BEAB80A21b10000ev1a.EV.Local]
1006535 16:50:29.378 [3164] (ArchiveTask) <916> EV:M {CArchivingAgent::ProcessMovedItemsInFolder:#25950} getting hold of a mapi session and opening the user message store