All sounds very odd. I've just tested it on XBMC 13B3 on Win8 connecting to 3.9.438~gd328f74 and sorting seems to work as I'd expect - if sorted by date and I select "name", it re-sorts; select "date" and it returns to the original sort order; select "date" again and it reverses the sort order; and so on.
I've also never seen the duplication you speak of... I routinely delete recordings from the command line, and tvheadend moves them to the "Failed Recordings" tab with a status of "File Missing". They've never come back again.
I believe (I could check, but not now) that tvheadend keeps track of individual recordings through the dvb eid (or maybe some hash of this and other parameters). If you look in TVH_USER/.hts/tvheadend/dvr/log you'll see all the log files for all your recordings. Have a look and see if they've got the same identifier for some reason - that's my initial guess.
You could also just reset the PVR database in XBMC and see what comes back - although if you've got two recordings showing up in the webUI then I suspect XBMC is innocent.