Hi there,
I saw what KevinT was talking about in your "KIOSK" post. I personally feel one should stick to only one "dev house" as it were for the following reasons:
1. If you support or dev more than 1 technology (Microsoft and say, Java/JSP), it means you need people who can understand both, which (especially these days), are hard to come by. And no too many people are keen to do this (reason 2, below). And by understand I mean, can rapidly switch from one tech to the other, without issues. And also, 9 times out of 10, the salaries these developers
2. Integration issues. If you have one app (especially, web), that works with say, Java, and the new requirement is something .NET can deliver quicker and better suited to the requirement, integration between the two can be a nightmare, especially as the older tech usually is so buggered up (spaghetti code, no SP's etc, proprietary framework, very abstract DAL).
3. The ASP.NET architecture has grown so much the past few years that practically anything is possible to do with it, especially since the introduction of AJAX. I've seen some pretty awesome apps written with ASP.net and AJAX, and that was before .NET 3.5. Sure, you can probably code something like that with JSP, PHP, etc, but I think the time spent will be much longer.
Just my 3c for the day 
The H..................
The Question is the Answer, and the Answer is the Question!