EagleFiler stores messages in standard mbox format, one file per mailbox. So deleting a message means creating a new mailbox file that contains all the non-deleted messages. Then that file must be indexed, and references (e.g. tags and notes) to messages in the old file must be updated to reference the new one. Plus, there’s the question of what to do with messages that you delete. Probably you’d want them to live in a trash mailbox so that there was some way to undo if you made a mistake. The code to move messages between mailboxes is difficult to get right–even up to Panther, Apple Mail had bugs in the way it moved messages, and in Tiger Apple switched to a different design (one file per message, which works great for a mail client, but isn’t a standard format and doesn’t scale well for archiving). So, basically, deleting messages requires a lot of copying data back and forth and a lot of code. I could probably implement several major new features in the time it would take to add “real” deletion.
Hiding “deleted” messages is much safer and easier to implement, and it would be very fast with the current design. Deleted messages would still be stored in the mailbox files, so you’d be able to undelete if you made a mistake. True, you wouldn’t have full control over what data is in the files, but most database-backed applications (or even the OS X filesystem) don’t really remove the data when you delete records, either.
The reason you can’t drag individual e-mails is that Mail doesn’t make any data available to other applications when you drag messages. That said, you can select the text of a message and then drag it into EagleFiler or use the Import Text service. Or print the message and choose Save PDF To EagleFiler.
A possible future enhancement would be to make the capture feature work with individual selected messages in Mail.