The file is not corrupted, if it was I wouldn't have been able to get mine to work eventually. My guess is that the problem is when the phone is about to get restored, it has to check in with Apple's servers. If a lot of people are doing it, you can't always make a connection with the server, so iTunes says there is an internal problem.
+1
It's the servers, check out the info in the iPhoneUpdater.log log via the console app
2011-10-12 20:47:42.000 iTunes[992:17aa3]: amai: AMAuthInstallDebugWriteObject: debug object written: file://localhost/tmp/PersonalizedRestoreBundle.u0D0nbkxzS/amai/debug/tss-request.plist
2011-10-12 20:47:44.000 iTunes[992:17aa3]: amai: tss_submit_job: error from server=100 (An internal error occurred.)
2011-10-12 20:47:44.000 iTunes[992:17aa3]: amai: kAMAuthInstallRequestCacheLocalizedTssError: cached server error text: (3200) An internal error occurred.
2011-10-12 20:47:44.000 iTunes[992:17aa3]: amai: AMAuthInstallRequestSendSync: failed tss submission: An internal error occurred.
2011-10-12 20:47:44.000 iTunes[992:17aa3]: amai: AMAuthInstallBundlePersonalizePartial: server request error: An internal error occurred.
2011-10-12 20:47:44.000 iTunes[992:17aa3]: failed to personalize the restore bundle: An internal error occurred.