In a threaded view only one message (last?) gets deleted/read/unread when the thread is selected. I would argue this should apply to the whole thread. Maybe with a warning when done the first time?
This seems to apply to all actions (move, read/unread, delete).
What do you (users) think? What do you (developers) intend?