Ever thought that those excuses you're given for not reading your CV were actually just that, excuses? And if someone genuinely did ignore you for having UNIX on your CV when they wanted UNIX skills, or told you off for calling them up, that's really their loss, isn't it? Would you want to work for someone who treats applicants like that or is stupid enough to hire someone who treats applicants like that?
More likely, though, those excuses are more plain and simple: "We don't like your attitude, so we'll make something up to get rid of you". In two posts here, you've come across as an arrogant arse. There's nothing "special" in those things you've done - it's called your job and I've done just about the same myself and it's nothing I'd crow about in a CV. If anything, you sound "jack of all trades, master of none" from here.
My job was actually titled "IT Technician" for years and I actually did ALL of the things you listed above as part of the job for up to six different schools at a time . Everything. UNIX, mail, debugging (proper GDB and assembly-level to find a poorly-written-library-on-ARM problem), building and running entire networks including every little detail necessary and no-one to whinge to that X wasn't compatible with Y - I just had to make it work, C programming, scripting (entire schools still run on my scripts and programs every year and even things like the door-control people wanted my scripts that tap directly into the (hidden, custom-format) databases that their software used to do more interesting things than their own software could), open-source, etc.etc.etc.
I was self-employed and some schools called me "IT Technician", some "IT Manager" and some "IT Consultant" because of the range of stuff that I did. Hell, I made a living because myself, on my own, for 3 hours a week for each school was doing a better job than an entire London Borough Educational IT Support Team on yearly-contracts and entire schools ditched their contracts and went with myself instead. You won't find 99% of that on my CV and details would only come up in interview if you bothered to ask. I don't need to tell them, and they don't need to know in order to hire me.
I don't find any of it remotely interesting to crow about on a CV - it was my job, and still is and the only thing that's changed over the years are my employers, what they pay, and what they feel they want to call me. There's nothing "special" about that at all. And yet am I suitable for 99% of the "C programmer" jobs out there? No. Or UNIX admin. Or application development. Or IT consulting. Or vast swathes of the field. Just because you've "done it" doesn't mean you're an expert that does it day-in, day-out. You can find people who've "done" those things absolutely anywhere, and they're great for filling junior positions and becoming trainees. They *aren't* good for just throwing in charge of businesses and their critical networks, especially if their attitude is "I've done all that, I can handle anything".
I once worked in a small IT team where one of my colleagues (an equal doing the same job as me) assured everyone he'd "done" Linux, Apache, etc. to the same level as everyone else. My boss got so pissed off with the assertion that he had the same skills as others who'd worked in datacentres that she (former banking IT manager who'd worked in South African banks and could put anyone to shame with her skills) challenged us both to complete the next project we had scheduled independently. It was deployment of a purchased PHP app onto a dedicated server that we had to build from scratch - totally free choice of what to use, how to use it and the "winner" - chosen by suitability, not speed of delivery - would go into production as soon as it was ready. Mine was a Linux server ready in 6 hours, and had all sorts of failover, OOM detection, security, etc. His never managed to show the rendered HTML to a single client after two weeks of work, then he tried to switch to a Windows Server install to do it, still never managed and it was left abandoned when he left three months later. As far as I'm aware, my machine is still in production 3 years later doing the same job without any changes except automatic software upgrades.
Now, my last employer (full-time) employed me because of this:
I got to interview because they read my 2-page CV that mentions none of this and only briefly states work-history and a personal statement (that explains I was self-employed and how I used to operate because if you just tell people "I worked 3 hours per week per school", it sounds shite, but if you can put across "I only worked 18 hours a week and earned enough to live comfortably", they get the picture). In the interview, they had a list of 12 projects they wanted to do and I had physical evidence on me of having completed almost-identical projects for other places - whether by being able to log directly into the damn thing that I built, or being able to show them an example of the software we'd use and where I'd deployed it before (and I think we complete all 12 projects within my first year of employment).
They weren't interested that I could do C, or Python, or anything else. They'd only heard of UNIX from their 30-year-old mathematics course. One of the things was CCTV related and they ummed and arred about just getting a CCTV company in to do it (which I was happy to do, but showed them I could do it if they wanted). They didn't have a clue what it meant to be open-source (though they quickly learned that having your IT guy be able to patch software that you're using on the fly to customise it to your needs is so handy, it's worth paying more than the equivalent proprietary software for). If they had, they wouldn't have considered it relevant at all. Even if they were looking specifically for a C programmer, do you think they'd be interested in the other junk? It just makes you sound like you spread yourself so thin in the hopes of being able to get work doing *something* in IT.
There are adverts off to my right now for a C# Application Developer. That's not me. One for a Linux Systems Engineer. Could probably do it but it's in finance and pays £500 a day, so it's probably not as simple as just whacking up some Red Hat instances or anything else that I'd touch in a normal working day. Chances are I'd never get it.
If you have skills, list them. Be prepared to back them up. But if you apply for the wrong jobs and your CV looks the same as the guy who fell out of university yesterday and has touched on all those same things, it will be indistinguishable. If you want a C programming job, you need to get to the point where you're virtually doing nothing BUT programming. If you want a UNIX admin job, you need to get to the point where you live and breathe UNIX all day long for every task imaginable. Why would you hire someone who'd only dabbled in the thing they would be doing 8 hours a day, every day?
"Tinkerers" CV's are all too common. Everyone's done bits and bobs, and almost everyone has done them as part of another job (but calling them jobs done "professionally" may not mean the same to an employer as to yourself). It doesn't mean you could throw me at an open-source C codebase for a huge multi-national who deals exclusively on Linux and ask me to do their consultant's job for them. Hell, I delved into the OpenSSL library code the other day and it scared the crap out of me. It doesn't mean I couldn't knock up an SSL library in C myself (I did Maths and Computing at Uni because of my obsession with cryptography) - it's just an entirely different kettle of fish.
And when the employers have something specific in mind, someone general doesn't fit the bill - and they're the ones paying the bill. You don't have to convince them you're Superman, you just have to convince them that you'll hit the ground running and they'll never have a problem with you doing that job. A tinkerer might be wonderful as a general overview, e.g. some form of middle-management, but only if the thing he'll be dealing with the most is his speciality. It's like employing a brickie who once did his house electrics to rewire the underside of a Cray supercomputer.
But, seriously, you're biggest problems are 1) Relevant in-depth experience, 2) Applying to the right job and I would also add 3) Attitude because you come across as you're somehow "entitled" to run the C programming section of a large UNIX supplier making network-card drivers, when in fact the things you say and (presumably) the CV you send makes you sound more like someone straight out of Uni who once typed followed a "Hello, World" C tutorial on a Linux machine.