Linux is not necessarily essential for this. You can do it on windows as well. I use Seimens SIMATIC cards for IO usage. This is similar to your stack of external microcomputers. The cards are relatively cheap (200 euros) and very reliable. The Simatec NCM manager well give you the tools to write the raw values to somewhere in your processes memory.
For the image splicing, are your cameras waving around or are they fixed with respect to each other? If they are fixed, then I'd recommend skipping the image recognition stuff. Figure out where the images overlap, and manually splice the images togeather. It'll save a ton of processing power.
Otherwise, for photo stitching I really like Hugin.
http://hugin.sourceforge.net/. It gives a lot of options, lets you set things like the lens parameters, and will automatically detect the overlapping points. The downside is that to make a really good stitch, it will take a significant amount of time (to stitch 12x 10MB photos, it took Hugin about 45 minutes on my i7 processor). Also, I don't think it takes command line parameters. Fortunately it is open source which means that you can take it apart and use only the parts of it that you need. That may save some processing time and will let you integrate it into your system.
As for C#, I don't think that there is a compiler for C# under Linux. That's because the language is integrated so deeply with the Win API that it is tough (impossible?) to make it platform independent.
The nice part about Linux is that it is light weight and will not take up resources that you don't need for this, thereby making your image processing potentially faster. However any "embedded" OS will do the same thing.
Your project sounds like a lot of fun. What is the end objective of this device?