I work for a recruiting firm and I can definitely tell you that I'd would take a CS graduate with bad grades and 2 years of "real world" experience over somebody with a straight A (4.0) GPA and no experience. I would do it 100 times over and over. In fact, if you are looking for a job, send me an instant message and we can definitely talk about getting you placed somewhere.
To give a personal experience/testimony, I graduated with a CS degree with a 2.0 GPA about 3 years ago but with about 3 years of solid full-time work experience. Most of my class mates had 3.0 or greater GPA's and no work experience. Almost all now have gone into different fields (fast-food restaurant management) because they couldn't hack it and couldn't apply education curriculum into the real world.
You do not know how frustrating it is to interview recent CS graduates with 3.0+ GPA's and not be able to give you the fundamentals of computing. Just simple questions like the difference between a binary tree or a linked list let alone anything regarding any object-oriented programming concepts. The truth of the matter is that the IT field right now is hot, not like it was hot during the dot-com boom where anybody that could spell "Webmaster" got a job. But it's hot for SKILLED workers. Somebody that can write compilable code, use object oriented programming languages (Java, .NET, etc.) and be able to determine the difference between recursion and for-loops. Those people (regardless of GPA) will continue to be employed and will maintain a high standard of living with a job they can enjoy because they can convert knowledge into wisdom through experience.