Where are you getting that error message? Within the property sheet at design time?
I never understood where you were getting that message. Now it makes more sense.
When you go to the component designer for a business object, Visual Studio creates a instance of the object in memory for you work with. However, in the designer, it doesn't create an instance of your class, but rather the base class for your class (which happens to be BusinessLayer). So, Visual Studio actually creates an instance of BusinessLayer rather than an instance of your class, and that instance of BusinessLayer is what gets shown within the property sheet.
Now, whenever we added the PrimaryKeyFields property, I essentiall renamed the PrimaryKeyField property to PrimaryKeyFields and wrote a new PrimaryKeyField property. So, the code within the PrimaryKeyFields property was the code that was throwing the NotImplementedException. This is the proper behavior since the object placed in the property sheet is an instance of BusinessLayer rather than your class. The reason you're getting that message is that I forgot to place the [Browsable(false)] attribute on the PrimaryKeyField property when I created it. I've fixed it, and it won't show up in the property sheet in future versions.
So, the message won't cause any runtime problems since you create instances of your classes rather than BusinessLayer.