Ok, so now that things have been sorted out I have a question. I deleted fontconfig (the debian packaged version) to reinstall a newer (from source) version.
If a newer version was installed directly after the old library was deleted why did Crunchbang freak out? Was it something as simple as it wasn't installed in the same location or are repo packages treated different from source packages in Linux?
It freaked out because you removed a package that's required by other packages. The only way the package manager knows that the requirements for a package are fulfilled is if the required packages / functionality are marked as installed in its database. It doesn't have any means to figure it out by looking at the file system.
To replace a distro-provided package, you either have to use a package from a third party (unofficial repository, ppa), compile and install a "source package" (see
https://wiki.debian.org/SourcePackage ) or you can use equivs (see
http://www.debian.org/doc/manuals/apt-howto/ch-helpers.en.html ).
You have to be careful when you replace packages like this. Expect upgrades to be a pain (your unofficial does not fulfill the requirements anymore, which causes a cascade of upgrade failures, for example).
Also, to remove a package without uninstalling your whole system, you have to provide the replacement before removing said package, so you don't break the requirements of the dependant packages.