Thanks for the comments - glad it is helping someone!
I have never tried to create a new user via SQL but ultimately the core does this so it should not be too hard to find out how by checking the core code..
Maybe your time would be spent better using an importer? I have used Work Controls importer and you can run it on a SQL table (with your own queries) and it does all the hard work for you.