In Apple Mail, How can I delete a message without moving to the next one, causing the next one to be marked as read?
The easiest (albeit slightly lengthy) way to do this is to create a custom service, like so:

Create a new Automator Service. Have it take no input in Mail and put the following code into a "Run JavaScript" action:

mail = Application('Mail')
mail.includeStandardAdditions = true
for (i in mail.selection()) {
    mail.selection()[i].delete()
}


Save the service. Then go to System Preferences > Keyboard, select Shortcuts at the top, and select Services in the sidebar. Scroll to the bottom to where it says "General" and you should see your Service there. Assign it a keyboard shortcut. This shortcut (so long as it does not conflict with any existing shortcuts) will allow you to delete a selected Mail message without selecting the next conversation.