This is a little bit complex, so please bear with me.
On this blog: http://zamakan.gharbeia.org I'm having an issue where permalinks for certain posts are not identified as such.
Meaning that when the permalink URL is visited, the post is displayed in the context of an Archive page for the month, instead of that of a single post.
This is also reflected in such a way that within the code is_single() resolves to 'false' and all conditional code depending on it fails, including the comments_template() call.
I have only index.php, and no single.php, although trying to create the recent file (for testing) hasn't resulted in any change in behaviour.
I also tried disabling all plug-ins to no avail.
I'm not sure whether this started only since I upgraded to 2.2, or that it was there before the upgrade.
The latest post was posted after I upgraded. The one before it was there before, but I became aware of it having this behaviour since I upgraded.
Both posts have their GUID field in the DB set to be identical to their respective permalink generated by WP, and also to their respective post_date field. I thought this might be relevant because of my permalink structure explained below.
I have a somewhat long - but in my opinion very systematic and efficient - permalink structure: /%year%/%monthnum%/%day%/%hour%%minute%%second%
I use it because it's fixed-length, and sub-parts of it display meaningful archives for year, month, day.
In fact this issue I'm having can be described by saying that with these two posts mentioned above, the permalink is parsed/decoded only up to the day portion of it, and the last part which identifies a unique post is ignored. This can be seen from the title in the browser's title bar which displays an archive for the day when it should display a single post.
I have a very long and hand crafted .htacces, which I haven't changed in a long time.