This bug is ruining my day today haha... glad I'm not the only one who found this. As you stated, the option text doesn't display on the widget after appending an option item and refreshing.
I also ran into another similar issue on an existing app that I'm still trying to narrow it down to an exact test case to see how it differs. But basically I am generating a string of select box options, of which one of the options has a selected="selected" attribute, and then doing:
$("#selectbox").html(optionsList).selectmenu('refresh', true)
The goal is to completely regenerate the select box options, wiping them all out and rebuilding, which worked fine before. But now when I click an option, and it only does it the first time and the value sticks, it displays the concatenated option text for every option after the one that's "selected" as the display value on the widget. So if I have a list of 10 options, each called "Value1", "Value2", etc, and the 5th one has selected="selected" then the display value on the widget is "Value5Value6Value7Value8Value9Value10". If you change the selected option then the same value sticks and never leaves until a page refresh basically.
The selectmenu widget has been driving me insane ever since the alpha days... for some reason it keeps getting consistently broken and through several builds has had absolutely terrible and obvious bugs that I don't understand how they keep making it into releases. Some of the bugs were so bad that they were complete show stoppers rendering the widget nearly useless.
EDIT: my one app is fairly advanced a lot of custom stuff going on... i upgraded to the latest build and nothing broke but the selectmenus are resolved... would definitely suggest grabbing a copy to store locally while it's good
http://jquerymobile.com/blog/2011/04/16/latest/