Currently it seems that Bitcoin-Qt keeps the user waiting, without access to the main GUI until the wallet has been completely re-scanned, which can take over an hour on some computers. If the node needs to catch up with the blockchain, it displays the GUI and lets the user know that it is syncing - why doesn't this same functionality exist for when it needs to re-scan the wallet?
The functionality to send transactions should be disabled during this rescan period, but other than this, access could still be given to view transactions so far identified in the wallet, with an indication that re-scanning is in progress.