Did they check the horn itself? Doesn't sound like it.
The horn is located behind the front bumper on the right-hand side. I'd disconnect the wiring connections to it and put 12 volts through it from an independent supply. If it still doesn't work like that then you'll know that it is the horn itself. Replace it with one from a scrapyard if you're short of money. Probably cost you a fiver. There is only one mounting nut so it's a simple job.
If your present horn does work with an independent supply through it, then you'll need to check connections and trace back where the fault lays. I hope it is just the horn itself which will be simplest to fix.
ChicksFan, September 2011