Why does Nautilus ask me to "... empty the trash before you unmount?"

Solution 1:

On mounted volumes Nautilus does not move the trashed files to your main trash directory in your home folder as that wouldn't make much sense for huge files.

Next time you trash something hit Ctrl+H or select View Hidden Files from the menu. You will notice a .Trash folder lingering in your mounted drive.

The file is actually still on the drive until you permanently remove it. I guess it's just Nautilus' way of helping you keep things tidy, especially since you might be hooking the drive to other OSes.

I suppose a way to suppress the dialog would be to create your own trash/temp folder on each drive and move the files you want to trash but not delete just yet there. You could make Nautilus scripts/actions to point the files to your new folder. Since the files would be on the same drive there would be no overhead (i.e., the move would be instant/not cost any cpu) and you wouldn't be bothered by dialogs. I personally have a small (2GB partition) I use as a temp/share with Windows area for misc. odds and ends. I find it works quite well to get thinks out of the way. Of course that is not practical for big stuff, but you get the idea :)