One time Editing Of Profile page
You can use Field Permissions for this.


  The Field Permissions module allows site administrators to set
  field-level permissions to edit, view and create fields on any entity.


Just set up the fields on the Profile page so that only authenticated users can fill them in.  This will mean that when the anonymous user is registering they won't see the fields, however when they are registered (and therefore authenticated) they can edit them.