Hi David,
there was indeed a bug. Actually two.
With previous versions of Joomla it was OK to return Button object with name set to false, when no button had to be displayed. Newer versions of Joomla expects a 'false'.
We still used the old method, that's why you had strange attribute-less buttons.
On top of that, there was a (quite incredible) problem with access level values.
Both problems have been fixed with the freshly baked Custom Properties 2.0.4.