Looks great to me, and glad I could help. Not sure what I missed in my attempt, though.
If I can find time (or another need), perhaps I can generalize all of this into a single custom module able to help set up both client custom fields and profile custom fields.