I'm not sure what APT::NeverMarkAuto really does, whether it stops it from being considered for dependency resolution.
edit /etc/apt/preferences and put in:
Package: mono
Pin: version *
Pin-Priority: -10
(warning, I didn't test this. Even if it does work, this might stop you from even installing it manually.)
More docs in the apt_preferences(5)
man page.
Comment lines by prefixing with Explanation:
. The Package: field doesn't support wildcards; Package: *
used in some examples is a special case.
I haven't used preferences since I stopped trying to mix some packages from intrepid-backports with other packages from karmic (before it was released), or from Debian repos or from Medibuntu vs. Ubuntu-shipped. Pinning with preferences could make apt / aptitude /etc. decide that some version other than the highest version-numbered version was the best one to install, or that it didn't need upgrading.
Anyway, I just use aptitude for all my package management, it's SO much better than any of the simplistic GUIs I've seen come up on liveCDs or default installs. After marking something to be installed, if there's a crapload of stuff it's going to pull in via recommends:
, I go and unmark that stuff before giving the final go-ahead.