I think the root cause is that the stPropMetadata attributes can’t be passed all the way through to the fourq/displayLibrary webskin that is used to render the library picker (since it’s loaded in a subsequent request after the user clicks the “Select” button, and it’s probably not ideal to try to pass that data via the ajax request)… So the custom stPropMetadata probably works for drop downs and checkbox render types, but not for library pickers.
You should be able to work around this by adding a ftLibraryData attribute to your aSupplierContactIDs property in your content type to specify a method to use for the lookup as this function should always be available, e.g. ftLibraryData="getSupplierContactIDs" with a corresponding method;
(You’d also need an additional method such as getSupplierContactsFor to look up the valid objectid’s for your current object – arguments.primaryID should bu the objectid of the object that is being edited).
Hope that helps, let me know if you have further issues
I don’t think its likely custom stPropMetadata will be extended into the library pickers; you can set different defaults but not “just in time” changes. I suspect on those occasions where a default doesn’t work, building a custom library picker is probably easier.