I dislike twentyten myself, but for different reasons than you do.

1. Adding filter functions for front page display to the functions.php file is the wrong way to do it. That function and filter should be in the header.php file. Why? Because functions.php is loaded on every page load, even admin page loads. A function should be close to where it is used, and not loaded when it’s not used. To that end, putting the code that generates the header into the header makes the most sense, is the fastest, and makes it easy to find things. If somebody wants to change the title, then making them search through a big ass functions.php instead of simply looking in the header.php is stupid.

2. HTML 5 elements = I agree. However, IE doesn’t cope too well with them. Yes, you can use the HTML5 shiv from Google and the IE8.js to make things work (see http://www.smashingmagazine.com/2009/08/04/designing-a-html-5-layout-from-scratch/ ), but why go to all that trouble? We can move to real HTML 5 when IE catches up. In the meantime, this works fine.

3. P vs. DIV – This is questionable. Actually, I’d say that they should be in H1 and H2, respectively. Post titles and such should be H3 and below.

4. Actually, Lists are the *only* correct way to build sidebars. Anybody doing it any other way is wrong. Furthermore, Lists are not inline. UL, OL, and DL, are all block-level elements.

5. All the function_exists bits are there to allow child themes to override those functions by simply redefining them, if necessary. This is not a valid critique in any way.

6. I agree with both mobile stylesheet and not using px values. In practice, the px thing isn’t going away, too many theme designers are overly sensitive about this one.

7. I don’t understand the Comment input fields thing. Fields should be before the comment block, not after. If they’re after, then it’s more likely that a user will submit a comment without a name on it, and the comment will be lost. He’s got his UI design ideas totally reversed here. Your comment form is confusing, in fact, because it’s asking for data not only after the fact, but in a different order from every other site on the internet. You need to standardize, man.