CRM 4.0 doesn’t support the undelete / restore function, once you delete the record, it marks it as deleted and delete it physically in the next sweep.
CRM supports Activate/ De-activate to cover this but I faced a requirements regarding this, having a recycle bin in CRM 4.0 for the deleted and still in the DB records, so we made this simple recycle page.
for more information: http://ahmedelnoby.blogspot.com/2010/12/crm-40-recycle-bin.html