I've been watching the rewrite log (to activate it put RewriteLog "/path/to/your/rewrite.log" and RewriteLogLevel 3 into you httpd.conf) and i noticed that all the pages, ending or not with .php are not matched by any rule in the .htacces but the catch all rules and then it parses again all the rules.
That's why i get redirected to wp-comments-post/ instead of wp-comments-post.php; It seems that Apache is ignoring the [L] wich means that it should stop when that rule is matched or perhaps there's another rule before these, that is changing the url to wp-comments-post/ ... that's so confusing because i've just commented out every line in the .htaccess except these:
RewriteEngine On
RewriteBase /
RewriteRule ^index.php /wp-inst/index.php [L]
RewriteRule ^$ /wp-inst/index.php [L]
RewriteRule ^([_0-9a-zA-Z-]+)/ /wp-inst/index.php [L]
RewriteRule ^([_0-9a-zA-Z-]+) $1/ [L,R]
AddType text/css .css
And it works exactly the same way as described above, which means that all the other rules are being ignored..