When you are creating a new user programatically with user_save, you would also need to manually programatically create the profile2 type for the new user account if you are using Profile2. The following code should solve the problem:
<?php // Where 'main' is your profile2 type machine name. $profile = profile2_create(array('type' => 'main', 'uid' => $user->uid)); // Add in the necessary custom fields and values. $profile->field_just_example[LANGUAGE_NONE][0]['value'] = 'Awesome!'; // Save the profile2 to the user account. profile2_save($profile); ?>