How to prevent employees from deleting tasks (or ensure admin can always restore them)?

Yes, RBAC is the answer for both of these questions. To use RBAC, you’ll need either an Enterprise+ subscription, or you can get it with an Enterprise subscription plus the Permissions Management Add-on.

Asana only provides the ability to see your own deleted tasks; I’m not aware of any way around that.

No, not currently; you can vote for that feature here.