Oh dear.
Well, IE 10 supposedly has web workers. For current versions of IE
you might want to check this out:
http://code.google.com/p/ie-web-worker/
Despite the being hosted by Google, it's not a Google product. It
also hasn't been updated in a few years, which makes me nervous...
Another approach is Google Chrome Frame, which enables IE to run Chrome:
https://developers.google.com/chrome/chrome-frame/
Of course this only works if you can get your users to install it.
Refactoring DMP to be asynchronous would be tricky. You could create
a closure at each level of recursion in diff_bisect_ but the challenge
is to resume the enclosing function. I think it would take a major
refactoring of diff_bisect_ to save state and restore from that saved
state when the answer returns.