I'm guessing that since the JS isn't getting accepted by the expires types, that's where the issue sits.
Try adding this to the bottom:
Code:
<filesmatch "\.(js)$"="">
ExpiresDefault A43200
</filesmatch>
43200 is 12 hours... (seconds x minutes x hours) 60*60*12=43200 seconds
So instead of a ExpiresByType, we're using an "FilesMatch". See if that helps resolve the issue.
The other idea would be to log into your control panel with your CDN and see if they have a section to allow you to add files or directories to a Custom File List. Possibly you can set from in there and it would set the headers on their end.
I've also seen the ExpiresByType set to the following:
Code:
ExpiresByType text/javascript A43200
So rather than being an "application/x-javascript" the type is "text/javascript". See if that makes a difference. I know it used to work the other way when I wrote the article, but maybe things have changed in newer browser versions.