I think I have it working now. The delay was due to the difficulty of either bundling the pyobjc dependency or requiring users to install it. In the end, I avoided the problem by porting the affected code to AppleScript. An updated version is available at the link below. I will remove pre-release marking once I hear that it is working from a few users.
Here's the applescript snippet that will get you most of the way there:
on alfred_script(theFilePath)
set theFile to theFilePath as POSIX file
tell application "Mail"
-- get a list of all mail message windows
set theMessageList to every outgoing message
-- either select the front most mail window or create one if none exist
if length of theMessageList is greater than 0 then
set theMessage to item 1 of theMessageList
else
set theMessage to make new outgoing message with properties {visible:true}
end if
-- add the file to the message
tell content of theMessage
make new attachment with properties {file name:theFile as alias} at after last paragraph
end tell
end tell
end alfred_script
I hooked this up after a file action and it will either append a file to an existing message or create a new message with the file if no messages exist. The applescript currently doesn't take multiple files, but you could modify it to do so by parsing the resulting tab-delimited string from the file action. One issue I can't figure out (and don't have time) is that when I run this within the applescript editor, it will correctly append a second or third attachment to an existing message. In Alfred, it seems to replace the existing attachment. Hope this gets you on your way, though.