Event registration in CIVI 2.1 requires a unique email per registrant for the event. In some usecases it is desireable not to require a unique/individual email per registrant, for example events requiring registration for whole families. The modifications below will enable a unique email from the primary registrant. Furthermore rather than hardcode requirements for any specific fields to uniquely identify contacts registered for the events the modfications use rules established in dedupe rules settings. So in cases where a whole family might be registering, first & last name might be similar so administrators can use additional fields like middle name or custom fields to uniquely identify contacts.
All the code changes are done in civicrm/CRM/Event/Form/Registration/AdditionalParticipant.php (I have only tested this on drupal installation), there are 3 changes made, the first is making the email in the registration form to default to primary registrant's email. This change in my opinion is not crucial, I would have preferred to actually hide the email field. The other 2 changes are actual application of dedupe rules to the data entered by users. All changes are clearly marked with comments as changes made by me.
Hope this helps others.