Sorry to reply to a solved thread, but there seems to be a workaround for the unread count in the zimbra web client.
For instance, one of the client accounts (let's call it "account" showed 5 messages were in drafts, but actually there was only one. Even after reindexing. So this seemed wrong, might be a feature or not...
However, when reaching command line and running this search command:
The output showed 5 messages
zimbra@mail:~$ zmmailbox -z -m account s "in:drafts"
So, all I had to do was to delete the items that weren't needed
1. 33554 conv account test5 07/25/13 14:03
2. -33022 conv account test3 07/04/13 15:18
3. -32567 conv account test 06/20/13 16:28
4. -32564 conv account 06/20/13 16:26
5. -32508 conv account 06/17/13 15:07
After that, the unread count changed to 1, which is perfect.
zimbra@mail:~$ zmmailbox -z -m account dm 33022,32567,32564,32508
Perhaps I should note that we are running 8.x with dumpster enabled, so I don't know if this affects the drafts count.