You need to be very careful which headers and libraries you compile against when cross-compiling or you can find yourself with bizarre and counter-intuitive crashes at runtime caused by binary incompatibilities against libraries. In saying this, Linux ARM distros play very safe with binary compatibility - usually at the expense of performance.
It's quite possible that you're building against your development hosts headers and libraries - hence the architecture mismatch.
You might just find that pre-built opkg images just work. Angstrom provides pre-built packages for you. It might be as simple as network-installing from Angstrom package repository.
If you find you do need to build from source, one simple solution to your problem would be to get the build environment for Angstrom and use it to build mono. The easiest way of going about this is to get a pre-built image (and development image) from the Angtrom online image builder. With any luck one exists for your board.