Apple - How do I adjust the time Mac Mail takes to mark messages "read"?
Have you tried quitting Mail, launching a Terminal and putting in
defaults write com.apple.Mail MarkAsReadDelay 0
When utilizing an IMAP account, you may see a delay in marking read when connected to the mail server, as it issues the mark read command to the server first and waits for a response before doing so locally.