Hi
I don't see any reason which prevent users from transfering his registration to other user. I think he can simply login, access to registration history page, update his contact information , change it to his friend information (First Name, Last Name, Email....). That should work
The waiting list feature will work with both free and paid events.
Regards,
Tuan