I’ve noticed, that the ListCtrl has a slightly different appearance. In the 4.0.7 release, the vertical borders stopped at the last item of the list. In the 4.1.x release, the borders go all the way down to the end of the list.
This seems to be OS specific. When I run your code on linux with wxPython 4.1.1 the vertical borders stop at the last horizontal border, similar to your 4.0.7 example.
Have you tried UltimateListCtrl? Does it do what you want?
The appearance of the headers on linux is very different. It uses a 3D look, both in the ListCtrl and the UltimateListCtrl.
However, in the UltimateListCtrl it also has a slightly odd appearance after the last header:
Edit: I’ve just remembered that on linux the appearance of the headers is influenced by the the theme that is being used. My default theme is what is causing the 3D look. Some of the other themes make the headers look very similar to your screen capture, including the artefacts.