I haven't seen anything on the interwebs on this issue so I'm blogging it.
I had an issue come across my desk recently where after an upgrade from BizTalk 2004 to BizTalk 2006 all the pipelines where failing. Even the pipelines that didn't have custom components failed.
The error was like this:
Error details: There was a failure executing the receive pipeline: "XYZ.Orders.Common.BizTalk.Pipelines.MyPipeline, XYZ.Orders.Common.BizTalk.Pipelines, Version=1.0.0.0, Culture=neutral, PublicKeyToken=dfesd197d68db7dad" Source: "Unknown " Receive Port: "Orders_Invoice_XYZ" URI: "D:\XYZ\in\*.txt" Reason: Unable to cast object of type 'XYZ.Orders.Common.BizTalk.Pipelines.MyPipeline' to type 'Microsoft.BizTalk.PipelineOM.Pipeline'.
This was caused by one of the references in the pipeline projects being to a .Net 1.1 version of the assembly. This was unexpected because the some of the pipelines that were failing weren't even calling the assembly (even though the reference existed). The resolution was to recompile the referenced assembly to .Net 2.0 and then update the references to the new version. Voila, all the pipelines worked properly.