Why doesn't a certain block appear on "view" pages of my site?
I think you have got issue with the rendering of that particular region into the page.tpl.php, where this block doesn't show.

Follow this steps to identify the issue --


Find the machine name for the region where you are putting your block from the THEME.info file.
Open your all page*.tpl.php file in the theme one by one. May be your theme contain different page.tpl.php for different kind of content display. If it not done by you then this step can be hectic as sometimes we declare the custom page.tpl.php structure in template.php too. But initially you can check all the TPL files starting with page. 
Check for the rendering of the content by searching the machine name which you have got in .info file for the region where you are placing the block. I think somewhere it's not rendered.
Render the region into the TPL file where it is not. Clear the cache &amp; check you display.