Henry,
This is one we have to live with for now. When bridge scripting is doing anyting intensive (such as copying files), there will be repaint problems. In the Import from Camera script, we flip up a warning dialog that this will happen.
Larry's idea was worth a try, but it didn't work for me. I've tried a bunch of other ideas as well without success.
One way that should work, is to use BridgeTalk. Have another application (Photoshop?) actually execute the copy, and send status messages back to bridge. We didn't opt for this in the Import from Camera script as it seemed too kludgy. Users might wonder why Photoshop is starting when all they wanted to do was copy some files.
If you want to try that - take a look at the BridgeTalkLongProcess Object in AdobeLibrary1.jsx. It allows you to execute a long running process in another app, and get progress reports back to bridge. It provides the progress dialog for you, and handles all of the messaging. All you need to do is put a function call:
sendBackStatus( progress, message )
in your target app script code. progress is an integer 1-100, message is what you'd like shown in the progress dialog. An example of how to use it is the Contact Sheet script.
Good Luck
Bob
Adobe WAS Scripting