WCF is a huge beast, and it is very difficult to give general answers to it, too much depends on the details. The general rule is that MonoTouch supports the same WCF set that was sent with Silverlight (even if several additions have been made over time).
I suppose because there is no reflection.
Reflection is available and works with MonoTouch. Reflection.Emit does not , because Apple does not allow JIT code on iOS devices. This may limit some APIs that require code generation at runtime (but this is not a problem if code generation can be executed at compile time).
... This means fixing the code generated by SVCUTIL.EXE ....
Fighting / editing generated code is usually a bad idea (like future maintenance). I suggest you try using slsvcutil.exe before investing too much time in setting up the generated code.
... What does the code that should be written in this method look like?
The full source code for Mono System.ServiceModel and System.ServiceModel.Web is available if you want to provide your own channel (or customize the generated code).
Completely unclear to me: what is the difference between the two utility utilities?
The SL prefix, in slsvcutil.exe , is for Silverlight. Microsoft has made this code generation tool that will only use the WCF subset available in Silverlight. Since this is the same subset supported by MonoTouch, this is the best tool.
If I fix the namespace problem, will the stubs created with the Silverlight utility make my project, or will it also have problems with the shared channel?
It should work. The way people use (an affordable subset of) WCF with MonoTouch today. If there is a problem with this (subset / tool), you can fill out a bug report (with a test case), and we take a look at that.