Current I realized that updating libglib and libgthread was not a good idea. After the update you are not able to start gtk applications.
I will try to build a mono version with the current stable branch over the night and upload it tomorrow.
When you are using the testing/unstable branch I think you should not have any problems.
After long work and switching to another machine I was able to build mono 1.9.1 for the freerunner.
To install it, download the file and rename it to openmoko_mono_1.9.1.tar.gz. This archive contains all necessary dependecies to install mono, but I removed the debug versions to save space.
I am using the stable repository on my freerunner, but build mono with the org.openmoko.dev branch because there was already the openembedded bitbake recipts. So before you can install mono you have to update libglib and libgthread.
Next install mono. Opkg will install several dependecies from the 22.214.171.124 version and download them from Openmoko. Let him do and after opkg is finished, execute opkg list_installed | grep mono. Then simply update every single package to version 1.9.1 until all installed mono packages are from version 1.9.1. At the end, you have to update libnunit.
After all you should get this on the terminal on your phone:
I added also an updated sqlite version to the package, because with the installed version, mono has a problem to find an entry point in the native lib.
Download for unstable/testing Branch Users:
My next steps are to get gtk-sharp and NDesk.DBus to work and to get my changes for the bitbake recipts into the Openmoko/OpenEmbedded branch.
Have fun and stay tuned