Phil Smail, a fellow PM on the Project Team, just passed along a helpful hint:
I am writing a cool little app and I wanted to pull back all the Resource Custom fields. Thankfully there’s a PSI to do this call ReadCustomFieldsByEntity, where the entity can be Project, Resource or Task. This is pretty neat except that the SDK docs don’t mention what the potential GUIDs options can be. After a bit of digging around I found out what the correct item was within the Project.Server.Library assembly.
using PSLibrary = Microsoft.Office.Project.Server.Library;
CustomFieldsDataSet ds = CustomFields.ReadCustomFieldsByEntity(new Guid(PSLibrary.EntityCollection.Entities.ResourceEntity.UniqueId));