I worked for a small systems group supporting about 700 users, but was one of only two programmers. I had originally gotten the job because I had demonstrated an aptitude for programming in my previous life elsewhere in the organisation and was hired when there became an opening due to the previous two programmers leaving within a short time of each other (I had worked with both of them as a liaison of sorts between them and users when they were there). The other (senior) programmer was hired from the outside with Access, VB and other great knowledge and experience. However, whenever a project came up, it invariably ended up being assigned to me - at least if management wanted it completed. At first, I thought it was because everyone knew me as I had been there (at the company) for several years and felt more comfortable with me. I found out later it was because every time mgmt went to my counterpart with a project, he would act as though he didn't understand the requirements or would constantly hem and haw about it until the users gave up and seek an alternative that did not involve him.
Eventually, I was handling everything while he spent his days downloading music from the web and creating musical discs which he then gave to other team members and management (a bribe!). After 6 months of this, I informed our manager (who was offsite) of what was happening and asking for some resolution - at that point, I was working from 7 am to 7 pm or later to make sure that my projects were getting completed! Additionally, I informed mgmt that our lead VB programmer (my counterpart) could barely even read existing VB code, let alone write any. His VB experience was reading the VBA code from his Access programs!
My reward - we were shipped around to 6 different groups (because for some reason I was never able to divine, we were seen as a package deal!) before I finally quit. During that time, however, I taught myself VB, some SQL and Crystal reporting (in addition to my regular duties) and now am much happier with my current job! My counterpart - he was finally relegated to the lowest position in a help desk team taking user calls for network password problems before he was finally released because he could not even handle that position (almost 3 years after he had been hired for his vaunted programming expertise!).
The moral of this story - when mgmt won't deal with the problem and you've burned yourself out, then QUIT! Everything is absolute. Everything else is relative.