This is beacause in the trigger environment - after deleted, there is a "new table" created on the fly called deleted with the original values in it.
To Mimic this - create a table (same structure as original delete row) - call it deleted and populate it with a record - which you will be pretending to delete.
(be sure not to copy that into the trigger as the object exists there already) - you will need to use [deleted] as deleted is a reserved word :)