Global shortcut for New Mail in Thunderbird
You can assign a keyboard shortcut to a script like this:

tell application "Thunderbird"
    reopen
    activate
end tell
tell application "System Events" to tell process "Thunderbird"
    repeat 10 times
        try
            click menu item "Message" of menu 1 of menu item "New" of menu "File" of menu bar 1
            return
        on error
            delay 0.1
        end try
    end repeat
end tell


If Thunderbird was not open before the script was run, there is a short delay before the menu bar is populated.

Edit: this does not reopen the main window or switch desktops if the main window is already open on a different desktop:

launch application "Thunderbird"
tell application "System Events" to tell process "Thunderbird"
    repeat 10 times
        try
            click menu item "Message" of menu 1 of menu item "New" of menu "File" of menu bar 1
            exit repeat
        on error
            delay 0.1
        end try
    end repeat
    set frontmost to true
end tell


Edit 2: The second script also sometimes switches desktops, but I couldn't figure out how to prevent it.