Rebex IMAP marks messages as Seen (that's what read messages are called in IMAP) when you call GetMessage/GetMailMessage/GetMimeMessage, or GetMessageInfo/GetMessageList with ImapListFields.Body flag (this behavior can be switched off using ImapOptions.UsePeekForGetMessage).
If you need to mark messages as Seen without using one of these methods, use the SetMessageFlags method:
''# create client, connect and log in
Dim client As New Imap
client.Connect("imap.example.org")
client.Login("username", "password")
''# select folder
client.SelectFolder("Inbox")
''# mark the first message in Inbox as "read":
client.SetMessageFlags(1, ImapFlagAction.Add, ImapMessageFlags.Seen)