Thank you for the information. Here's what I found from it:
Whenever a change happens in a folder (new message, deleted message, mark as read/unread) I do not see them in any IMAP client until I do one of the following:
Method 1
Exit and reopen the client (Thunderbird in the case I tested)
The initial sync will update the contents correctly
Method 2
With the client open, initial sync is done, and subsequent changes are not being reflected
Run this command on the server: systemctl restart gromox-midb.service gromox-imap.service
Do a "Get Messages" within the client, and the contents update. However, it only works one time, then the services need to be restarted again and Get Messages repeated to get back in sync.
Setting the log level to 6 and restarting the service did not produce any log data when moving messages between folders or changing the read status.
I also tried adding ExQuilla to Thunderbird and got a mailbox connected via EWS, but it has the same issues. So the only 2 methods working without issues are ActiveSync and whatever the Grommunio webmail interface uses.