I do have a massive Issue with Caching and ModExpire on php Files if i\'am using following in my global .htaccess
ExpiresActive O
The two "ExpiresByType" lines are probably the reason for this problem as you have already identified.
Your .php files return documents of type text/html or application/xhtml-xml. So the headers being set by FilesMatch *.php contradict the previous entries. Which one is then chosen? I don't know.
Generally, the results of PHP file execution should rarely be cached.
To prevent php files from caching try to remove ExpiresByType application/xhtml-xml
, which is for PHP.
IMHO you can also remove FilesMatch
for PHP files.