Create a new user programmatically and mimic the registration flow?
I'm not clear on what your overall goals are here. However, you might check out the Form Clerk module. You can use it to create users, as well as many other things. 


  Form Clerk is an administrative utility that provides a semi-automated way to input data into a Drupal form. Multiple instances of form data can be entered with one command. For example, multiple users with varying permissions can be created, or multiple articles with arbitrary content can be added.