Well, no one answered my question after I posted it for about 1 hour, which is pretty unusual, but I found a solution. Hope this helps others who are confused about this issue.
mail.IsRead=true; mail.Update(ConflictResolutionMode.AutoResolve);
What is it. The key is you need to update the item or EmailMessage after setting the IsRead property.
Steven zack
source share