User registration checkbox in CiviEvent does not create new user and misses thank you screen
CiviCRM lets you have collect more than one address/email/phone for each contact and these are differentiated by the "location type" of each.

Standard location types are "Home", "work", "billing", "main" and "other", but you can add more if you want to.

One of these location types is then set as the default "primary" location type via a yes/no field attached to each location type.  The address/email/phone designated as "primary" is the one that civicrm will use when producing labels or sending emails or SMS to that contact.

You can override the default "primary" designation on a contact by contact basis.  For example you may have the location type "home" set as the default primary location type, but for Martha you choose to set "Other", containing a PO box address, as her primary address location. 

This means that when you are creating a profile to extract information (say, a journal mailing list) from CiviCRM you need the ability to output whatever address/email/phone is designated as "primary" for each person, rather than be restricted to just the actual location types of "Home", "work", "billing" etc. 

It sounds to me that you may have included the "primary" email "field" in the profile you are using to create the Drupal user.  However, it is not actually a field, but rather a yes/no qualifier for true email location type.  I think that may be why you are getting the error.

You should edit the profile and change the email field designation to be an actual email type ("home", "Work" etc.). I think that will solve your problem.