I just wanted to post a quick link to a wonderful library: BusyBox DotNet. This library inserts the necessary Javascript to display an animated gif overlay during long processes.
When at Genesis, we discovered the original script - the Castle BusyBox. It seems that the BusyBoxDotNet library is a decendant of that original library, with a whole lot more.
One thing to watch out for though, the library uses the Yahoo UI libraries, and includes them by default. So, if you're already including them, you'll need to either NOT include them, or modify the BusyBox source to not include them.
Oh, and if you're like me and are operating under Partial Trust, you'll need to recompile the library to include the AllowPartiallyTrustedCallers attribute, as well as a strong name.