This past summer we had trouble with our dishwasher. For some reason it stopped draining well, and then after awhile it stopped draining all together. We were very frustrated by this so I called a local mechanic. We talked over the phone a bit and he gave me some suggestions since after he told me his charge I wasn't too excited about him actually coming to the house.
About the same time my mother had a patient who ended up being one of our neighbors and, come to find out, a plumber as well. He kindly came over to help us out with our problem since the phone man's help didn't pan out. Since our neighbor was a patient of my mother's for a reasonhe could only walk Josh though what the problem might be. And as we were figuring out what our issue was he also talked about how the lines in dishwashers build up with scum. The soap, food particles being washed off our dishes and the fact that the lines are not visible due to cabinetry causes this scum to build up until it clogs and inhibits the running of a dishwasher. All though this wasn't our immediate issue I kept this in mind and asked him what I could do to prevent this slow and destructive scum from causing future problems.
The answer was really simple, and cheap, hydrogen peroxide. So now once a month, usually on the first of the month (today), I pour a bottle of hydrogen peroxide into the base of my dishwasher and then just run a rinse cycle. So far things are working great, you should give it a try too.