I suspect a different approach will work better (I haven't actually tested this though:-). Try in your .htaccess something like
ExpiresActive Off
Header set Cache-Control "no-cache, proxy-revalidate, no-transform"
Header set Pragma "no-cache"
(No blank lines needed in .htaccess, but if I leave them out here "line wrap" thinks it's just a funky paragraph and runs everything together.)
What you've got now specifies that the pages ARE cacheable, but the cache time is 0, so all pages are always out of date. This arguably doesn't make a whole lot of sense, and who knows which piece of software is doing some "error recovery" that results in the directory not being visible. I suspect something is stuck in a loop requesting the same page over and over trying to get a copy that isn't already expired, and the failsafe for too many loops goes off and the browser just throws up its hands and makes the whole folder invisible.
It's sometimes true that "xxx but 0" is the same as "no-xxx" ...but not in this case. Saying to an Apache server "cacheable but 0" is NOT quite the same as saying "not cacheable" ...close but not the same, and possibly handled weirdly by some software.