Stuck in a SERVICE_STOP_PENDING state when restaring host instances while deploying an application

Recently we got an escalation around deployment timing out when "Restart Host Instances" is set to True in the Deployment properties. It takes a long time for the deployment to occur and logs the errors below.  When "Restart Host Instances" is set to False, the deployment occurs immediately.

Event Type: Error
Event Source: Service Control Manager
Event Category: None
Event ID: 7011
Description:
Timeout (30000 milliseconds) waiting for a transaction response from the service.

Event Type: Error
Event Source: Service Control Manager
Event Category: None
Event ID: 7011
Description:
Timeout (30000 milliseconds) waiting for a transaction response from the BTSSvc$CSST_ReceiveHost service.

Repro Steps:
------------
On a BizTalk 2006 R2:

1. Created a new host instance using BizTalk Administration.
2. Created a new BizTalk project with an orchestration using a FILE Receive Port and a FILE Send Port.
3. Set the Restart Host Instance property to True in the BizTalk project Properties in VS.
4. Deploy the project.

The root cause of the issue is during redeployment cetain tables in management database are updated within a transaction scope. Restart of host instances (done using WMI provider) also happen from within this same transaction and tries to read from the same tables that are updated during redeployment. This read call gets blocked as the redeployment transaction is not yet committed. This results in a delay and finally the host instances are forcefully shutdown.

We have released hotfix 979438 that should address this problem.  This should be avaialble soon for SP1 and 2009 installations also.

-Guru