I'm now submitting this to Gemini as a Severe or Showstopper bug, with the fix. It's not a showstopper in that DNN won't run, but it is in that the control is not usable in a user module.
Others have complained on the ASP.NET forums that they can't toggle the enable feature, particularly for the LinkButtons
The fix is to move the databinding procedures for the ListBoxes--
' load available
lstAvailable.DataTextField = _DataTextField
lstAvailable.DataValueField = _DataValueField
lstAvailable.DataSource = _Available
lstAvailable.DataBind()
Sort(lstAvailable)
' load selected
lstAssigned.DataTextField = _DataTextField
lstAssigned.DataValueField = _DataValueField
lstAssigned.DataSource = _Assigned
lstAssigned.DataBind()
Sort(lstAssigned)
' set enabled
lstAvailable.Enabled = _Enabled
lstAssigned.Enabled = _Enabled
cmdAdd.Enabled = _Enabled
cmdRemove.Enabled = _Enabled
cmdAddAll.Enabled = _Enabled
cmdRemoveAll.Enabled = _Enabled
Move them from "Page_Load" to "Page_PreRender," and do NOT enclose them in an "If Not Page.IsPostBack" block. Also move the ".Enabled" commands, and add ".Enabled" for the LinkButtons.
As the control is written now, it only populates the ListBoxes upon page entry without a postback. It cannot be used in any context where it must respond to a postback. The proposed change will not affect the control's operation on the SiteSettings admin page, but will make it usable for user modules.