Fwiw, we just finished building
World Industries using 960.gs and it was interesting. Like Ryan mentioned earlier, it’s great because it _only_ does layout, it’s super lightweight, and it’s easily extensible.
On the other hand, after having built quite a large site with it, I certainly sympathize with the arguments against using a layout framework on the grounds of semantic HTML concerns. (And on that note, we structured the CSS _very_ non-semantically for this site mostly because we were in that mode of thought from doing the layout with 960.gs.)
On the other hand, it does make many things _very_ fast and easy, and realistically, if the client ever plans on redesigning the site, they’re going to hire a web development company to restructure the HTML, add functionality, and of course recreate the CSS.
The thing I really liked about 960.gs, though, and what makes me confident I’ll use it again, is that it’s just SO lightweight, and is VERY easy to modify. For example, having the columns use margins for the gutters instead of padding makes backgrounds awkward in some cases, so we added a .grid_padding class that sets the right/left margins to 0 and right/left padding to 10px. Not rocket science, but we certainly didn’t feel constrained or trapped at all. If the grid doesn’t work, break out of it. No problems.
What I may play around with for the next site we use 960.gs on is not using the .grid_XX class names, but instead using semantic class names and then adding those class names to the .grid_XX declarations in the 960.css. Not sure I really care that much, but it’d "feel" better, would keep layout fast and easy without feeling so dirty