Fixing D7 Bug: Block caching within views breaks JS
This is indeed an annoying bug.

I'm still looking for a permanent solution as well.  Meanwhile, I have been able to mitigate the effects of this bug by doing the following:


Install and enable Cache Expiration module
Setup the expiration setting of your content types or taxonomy terms so that cache for the problematic pages is expired on insert/edit/delete (adjust to your needs)
Implement hooks:
hook_entity_insert, hook_entity_update, hook_entity_delete and manually delete panels / views / block cache of the problematic blocks/content.
For example: cache_clear_all('my_view:my_display', 'cache_views_data', TRUE);


This is obviously far from perfect, since it forces regeneration of cache at every update but it does help in displaying content properly.