I think we do that, at least here at the OU, because we use session locking, so only one request can be active on a session at one time. However, the problem with that is that you end up seeing the results of the second export, which is blank, because you are only exporting grades that have changed since the previous export, which was half a second ago.
I don't think it is a major problem if the button stays disabled when you click back. If clicking the button changes the state of Moodle, the it is probably good that you have to reload the first page to re-enable the button, because that will repeat any checks that are done before the button is shown.
For example, my new code would be useful in backup and restore. You know the way that if you:
1. try a backup and get an error message
2. click back once
3. click the backup button again
You then get an error about there not being a backup with that id.
You actually have to click back about 4 times, then go through all the forms again. Well, the functionality I have just implemented would be perfect for that situation.
Is it OK to commit the attached patches to 1.9 and HEAD? I've tested, and the JavaScript works in IE and Firefox.