1, 2, 3, 5 and 7 are deadly sins of websites, not just mobile ones. Small nav buttons aren't THAT bad on a 24" monitor, but still, they shouldn't require 2 hands on the mouse to get the pointer into the box long enough to click it.
6? There are very good reasons for both temporary and permanent redirects. If they're used for the right reasons, there shouldn't be a problem. If there's a noticeable delay, and the redirect is "oh, you're a mobile. Let me redirect you to our crappy little mobile page", no. That's just wrong on so many levels. A redirect to the mobile page should be instantaneous SERVER-SIDE. The user should never see it.
Different content, theme? I can live with a different theme. I seldom like the themes on most websites I go to, whether they use a different one on their mobile pages or not - I hate a lot of themes. (I even hate some of my own, but I don't change them once the site is established.) I'm a developer, not an artist, so if I can't find a theme I like, it's eather plain or it's one I found that's not really what I want.
Different content? No. Maybe moved around a little, so the mobile user isn't scrolling all over the page to do some simple things, but if you can do it on the desktop site you should be able to do it on the mobile site. Remember, you people who write websites - there are people whose ONLY computer is their phone, so they can't just run over to the computer to do that thing you left off the mobile version of the page. You've just lost a user.
About the only thing I won't object to is Flash content. If you have to use it, even though most phones won't show it without a little effort on the owner's part, fine. But most Flash content isn't needed to begin with, so that's the part I object to. (Someone many years ago, before Flash, would have called it "dancing baloney".)
Bottom line:
Everyone who can download a web creator program thinks he's a webmaster. Guess what, folks, you're not. You're someone who doesn't know about web development or design, who has a program that lets you make - at very best - terrible web pages. (Not that I'm that great - I've only been doing it for about 22 years, so I still have a lot to learn.) And sites that are difficult or annoying for the user send him away - which is not why you put the site up, is it? (If all you wanted to do is annoy people, then your site is a great one.)