If you are using Profile2 in combination with Profile2 Reg Path (which you probably do or in this case - might as well use it), then you'll find two sections when you are editing Profile2 (at admin/structure/profiles/manage/profile_name_here) :
- Roles - that's where you assign which roles will have the fields from Profile2;
- Assign Roles During Registration - that's where you set the roles to assign to a newly registered user if user creates a profile following the path you've set.
So, in your application you'd check "PendingArtist" and "ApprovedArtist" in "Roles"
section, so that your fields show up for both of those roles. Then, in "Assign Roles During Registration"
section you would check only "PendingArtist", so that only PendingArtist role gets assigned to a newly created user. In the end, when the role of PendingArtist is changed to ApprovedArtist - the data entered in profile2 fields remains as entered originally.
their role gets changed to ApprovedArtist, and they retain their Profile2 fields that were associated with the old role?
you make it sound here as if their profile2 were not retained when you change role.