Ok basically I can't fix it if it doesn't helps, sorry.
Yes I've used that because I didn't know how to invalidate the control when normal Font property changes, so I've coded that. The ones in BCButton and BCLabel are grouped but aren't the standard Font property too. That's because we need to invalidate under certain conditions to avoid redrawing the bitmaps to save speed, and draw them in some conditions too, so we avoid the standard things. But seems that not using the standard Font does that drawing doesn't works in cocoa as you noticed. But can be also a bug in BGRABitmap and not in bgracontrols, because as you maybe know we don't use the default drawing that comes with lazarus but we use bgrabitmap.
Maybe creating a new control that only uses bgrabitmap for the background and using the default canvas fot the text, and the default Font property will work. But is just an idea, I can't ensure that will work..