For anyone having the same issue, you need to also include the kind request for flags: MCOIMAPMessagesRequestKindFlags
.
MCOIMAPMessagesRequestKind requestKind = MCOIMAPMessagesRequestKindHeaders|MCOIMAPMessagesRequestKindFlags;
Then, look for the unread flag:
for ( MCOIMAPMessage * message_ in fetchedMessages ) {
if ( message_.flags == 0 ) {
// I have a suspicion that this is not the correct
// way to do this, but it seems to work the way I need.
}
}