If your Exchange 2007 Setup fails on Server 2008 when it gets to the client access and mailbox role because the Exchange Transport Service hangs on starting, it’s because the IPv6 protocol has been uninstalled. A stupid bug... it shouldn’t need IPv6.
You will also see this in the Exchange 2007 Installation log as a symptom located C:\ExchangeSetupLogs\ExchangeSetup.txt.
[30/03/2009 5:55:40 PM]  The remaining time for service status change is '00:10:30'.
[30/03/2009 5:55:40 PM]  [WARNING] Service checkpoint has not progressed. Previous checkpoint='1'- Current checkpoint='1'.
[30/03/2009 5:55:40 PM]  Previous service status query time is '30/03/2009 5:51:10 PM'.
[30/03/2009 5:55:40 PM]  Current service status query time is '30/03/2009 5:55:40 PM'.
[30/03/2009 5:55:40 PM]  Will wait '90000' milliseconds for the service 'MSExchangeTransport' to reach status 'Running'.
[30/03/2009 5:57:11 PM]  Service 'MSExchangeTransport' failed to reach status 'Running' on this server after waiting for '90000' milliseconds.
Simply re-enable IPv6 under TCP/IP Properties. I disabled it because I dont use IPv6 on my network and I wanted to minimize the attack surface.