If you find deleting a file deletes it immediately without sending it to the Trash first, you may need to fix permisssions on your Trash folder.
Open Terminal (Applications > Utilities > Terminal.app) and type
Scroll up if necessary to the beginning of the list and you should see a couple of folders whose names begin with a dot.
Ignore .Trashes, but look at the permissions on .Trash, they should read like this (also see the pic above):
drwx- – – – – – <your_username> staff (size) (date) .Trash/
Ignore the numbers, but if the permissions are different or the username is not your account username, then do the following:
At the Terminal command prompt, type the following, replacing ‘your_username’ with (yep, you guessed it…) your username.
sudo chown -R your_username .Trash
For example, if my user name is ‘SnowLpd’ I would type
sudo chown -R SnowLpd .Trash
Then press ‘Return’. You will need to enter your password, which will be invisible when you type it (so type carefully). Now go and test your ‘delete’ function to see if the problem is cured. 🙂