I have a script from the google api server which caches consistently on safari, and some fckeditor script with no problem.
But my own scripts are being mis-interpreted by safari and not cached.
Not sure if this would be part of the issue... the google api js expires too but 15minutes prior...
If I serve the google api js from Roxen, it does not like to cache either...
Have you tried using the Expires modifier module? If you are not afraid of overcaching, you can raise it based on glob patterns, e.g:
Or if you are afraid of overcaching, but don't mind some server overhead, you could do something like this with prestates and file version number, and then you can set the expire time 100 years in the future and still not get overcaching: