I’ve run into this Thunderbird issue a number of times, always with a Dovecot IMAP server:
- You have multiple connections open to an IMAP account.
- You delete an email in one client.
- The email is not removed from Thunderbird until you restart Thunderbird, or do other sorts of fiddling around.
- Meanwhile, marking messages as read syncs just fine immediately.
There are a lot of people complaining about this, and various workarounds suggested (1, 2), but I’ve never seen a clear explanation of why it doesn’t work and who is really at fault, more importantly, why it isn’t fixed.
The best answer I found is that Thunderbird’s implementation of the CONDSTORE IMAP feature (which allows more optimized syncing) is broken, isn’t getting fixed since Thunderbird development is basically dead, and that disabling CONDSTORE, either on the server (i.g. in Dovecot) or in Thunderbird (disable “use_condstore” setting in the advanced config editor) is the best way to fix it.