MDX does send a "headerclick" event.
By checking the "headerevent" page you can get the column number that was clicked on
headerevent <col#>
Indicates the column most recently affected by an event triggered by the user.
which you can get by querying item 1 in the listviews did.
if you mirror the listviews content in a hidden @window you could then use /filter to sort based on the clicked column taking advantage of /filter's column sorting. Then issue a savebuf/loadbuf to the listview based on the window or even a filter directly. I know for sure loadbuf works with MDX not sure about /filter.