This is tricky, as you’ve seen. The blog in question was largely derived from the source of our Play app, which was never really written with MonoTouch in mind. Objective C is a lot more relaxed about accessing private methods than Mono/.NET and this kind of pratice is more common in that world.
That said, it is possible to provide bindings in your application. Bindings are generally autogenerated by the MT tools, but you can hand-write them, and they resolve down to message passing. The relevant code would end up something like this:
static readonly IntPtr selTransformValueToInternal_ = Selector.GetHandle (“transformValueToInternal:”);
return (NSObject) Runtime.GetNSObject (MonoTouch.ObjCRuntime.Messaging.IntPtr_objc_msgSendSuper_IntPtr (axis.SuperHandle, selTransformValueToInternal_, value.Handle));
However, we do not encourage you to use internal API in this way, the code is provided without any guarantee that it will do what you want, and we have no plans to translate this blog post into C#. You may also need to add #usings and references as appropriate.