o/
There seems to still have an issue with the listbox on the latest version: 14.14.
Code:
Canvas.Font.OnChange := nil;
doesn't seem to do the trick 100%.
In the demo I provided, I believe the selected item is supposed to have a black font color (with the graphite skin, at least). See demo in first post.
The selected item seems to lose its color on repaint.
See gif.

However,
Code:
if(Assigned(Canvas.Font) = false) then
Canvas.Font.Assign(Font);
seems to behave correctly.
Also, while doing some other tests, I realised that I was losing my selection color (multiselect) when scrolling down to select more items & a repaint seem to paint back the background.
See gif.

Thank you for your time. 🙂