Why does CenterOnParent not work consistently?

Your link (wx.MessageDialog.Center causes segmentation fault on 4.1.1) has Robin’s answer: wx.MessageDialog here is a native, rather than wx-generated widget, so wx can’t move it. If I want to center the frame, I need to create my own subclassed from wx.Dialog.

That explains why sometimes my dialogs get centered but not always. Thanks!