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!