yes, this is a problem on app-thread only. the freeze of the dialog is not just apparent, it is very real and blocks the entire  thread  for as long as the attempted server-connect takes (50secs for samba I think) 
Without this section the dialog (entire app actually) will freeze but in best case come to live again.. If you investigate log-file there will be a lot of complaints. In worst case (openelec) it will reboot, my guess is OE maybe has a 'alive'-test somewhere that does a reboot if timeout.
I understand you dont like it, neither do I - but it does not break anything that was not broken allready. With the fix we are able to do *some* of the mechanics in the function, without it nothing at all gets done.
*
Another approach may be to hunt down and rewrite all 'offenders' , that is ; any piece of code that (on app-thread) does DB or file-share access? But that task seems overwhelming to me..