With great power(freedom) comes great responsibility... If you let the mess build up it's going to get worse and worse.
There are more of them than there are of you, so you can't redo everything they "fix". You have to correct this problem at its source, or you're going to lose this battle.
I recommend tackling one type of problem at a time. For example, the core libraries calling into project specific libraries. It SHOULD be obvious that core libraries aren't allowed to call things from the UI of some specific project... But it isn't obvious to the "quick fixers" as you call them. (very polite name btw).
1. Pick one of the quick fixers that you work well with and explain the problem. Create a new project that uses the core modules if you have to show him why his "solution" can't work in the long run.
2. Fix one instance of his code while pair programming with him. Show him some more advanced techniques like dependency injection or whatever is necessary.
3. Encourage (make) him fix one other instance of his code.
4. Encourage (make) him teach one of the other quick fixers with you supervising or while you move on to a different quick fixer. (make sure you trust him to teach the subject properly)
Every social dynamic is different and no one likes to hear that they are wrong (even when they ARE wrong). So just be careful how you phrase things. Depending on their personalities it might be better for one guy to hear it from the architect, but another might like to work with you instead. Also make sure your leadership is okay with this plan.
Some other things that might help in the future.
* Pair programming - a good programmer with a quick fixer
* Code reviews - doesn't have to be every check-in.
* In this case, an automated build - coming from a computer, it's sometimes easier to accept we were wrong
* Writing down "the unwritten commandments" - it isn't obvious to them... if it was, we wouldn't have this problem!
* Learning lunches - lots of programmers don't take time to read articles, or expand their skills on their own
And DO NOT put these guys in charge of a critical area until you really trust them. At my company (a little before my time) they had put 2 of these guys on accounting. None of the good programmers wanted to touch the boring (but complex) accounting and dropped this in their laps.Left to their own devices, they eventually got it to "work"... But a few years later it's starting to collapse under its own weight. Guess who has to fix it? >.<
- Eck