:unread in the message list, for example, does indeed mark the message as unread, but the view doesn't update to show the message in bold.
Ok, turns out this does work on one of my accounts. However, the behavior described is present on my work account, which is a Microsoft Exchange account.
So, possibly some weird thing Exchange does?
I see something like this too. Doing
:readactually does that, but the msglist view does not update. Restarting aerc gives the correct view.
Marking read by actually viewing the mail does cause the msglist to update correctly.