There is nothing wrong with .foo.bar. There are problems with outdated versions of IE, should that stop you?
There is nothing wrong with ID selectors.
There is nothing wrong with having display:inline on the floated element. No harm done, fixes double margin bug in IE6 if you need that.
It is ok to have many rules for heading no matter that CSS Lint says.
It is ok to have width, padding and borders defined. I do that all the time and surprise surprise, result is just as I intended. I am not sure if CSS Lint knows anything about box-sizing rule.
Etc., etc.
Unit-less zeroes, no empty rules do make sense, but I guess decent CSS compressor would take care of those.