So i'm working on an e-Commerce project with Commerce Server 2007 and we had one developer machine that was having issues with the MSDTC transactions used by the pipelines. We took a look at all the obvious stuff like the DTC settings on each machine, turning off the local firewall (at least for development) and so on. We couldn't really find any differences between my working machine and the problem machine. We are running SQL Server on a remote box, so obviously the distributed transactions get a bit more complex than when everything runs on the same machine.
One thing that gets mentioned when talking about MSDTC, RPC calls and remoting is the NetBios name resolution. So I decided to see if the SQL Server machine could ping the problem machine by name. Sure enough, it worked fine for my machine and another development machine, but failed to resolve and ping successfully to the problem machine. Turns out there was a duplicate computer name on the network. I think the DTC on the SQL Server was trying to bind back to the other machine with the same name (different IP address obviously) and failing. A name change on the development machine took care of the problem. Not sure how often people might run into this, but we couldn't find anything in the forums or blogs that mentioned this as a trouble-shooting step. So just in case this helps someone else...