Glad I spent the last couple of hours tracking this down.
If you've set your ButtonEdit's button to Kind = Glyph and assigned it an Image and the image still doesn't show - you need to set the ButtonEdit's TextEditStyle to HideTextEditor. If you use DisableTextEditor, the button won't show.
Brilliant, really. The button and image have nothing to do with the text editor, but changing the text edit style makes a difference.