Just did a test to make sure the problem wasn't caused by something in the old project.
Built a new project with a TBitBtn, TButton, TLabel, and TListBox. All have ParentFont set TRUE.
TBitBtn and TLabel work as expected, both at design-time and run-time.
TButton works only at design-time, uses some other font at run-time.
TListBox doesn't work at either design-time or run-time, it just stays the same font regardless of the font the parent (The main form for this test).
I vaguely trying a newer (newer than 1.4.4) version of Lazarus maybe a year ago, wasn't trying to do 32-bit or Cocoa at that point, but running into the same problem.
I'm trying to figure why fonts worked on these controls back in 1.4.4 but newer versions don't.