Because its a proprietary Microsoft technology and XCode and Cocoa is Apples technology?
ASP.NET is controlled by Microsoft and they have no ability to program for Apples APIs which are owned by Apple. The iPhone/etc APIs are built on XCode and nothing else. Thats how programming works. APIs are not universal.
No its not free to buy monotouch, for the personal license its $399 and $999 for a corporate one. Why not learn objective c as its free compared to this?
Well, First of all ASP.NET is a web technology. You can develop ASP.NET web apps and they work within the Safari browser. There are several companies out there with solutions for Mobile Phone theming. ComponentOne has a solution which provides a series of ASP.NET Controls which work on the iPhone. Also, http://www.jqtouch.com/ provides a very good framework for iPhone friendly User Interface elements.