CoolReader's behavior on this one is correct per spec (NB CoolReader powers the HTML/EPUB display in KOReader as well). The paragraph is empty, so it has no height and its margins should collapse with its surroundings. A human-readable summary can be found
here.
Pragmatically, it's probably easiest to go for a CSS-only solution. You don't want to mess with your .calibre7 style by itself, because it seems to be used for italicizing, but you could add a height to your specific P-element with that class.
Code:
p.calibre7 {height:1em}
Another solution is to make sure the P-element is not empty, e.g. with a non-breaking space. While this would require modifying your files, it should be easily automated.
Code:
<p class="calibre7"> </p>
And just to be a pain, I think that most correctly scenes should be marked up as such, for example using something like:
Code:
<div class="scene">
…
</div>
Or in EPUB3/HTML5, maybe something like:
Code:
<section>
…
</section>
Subsequently, you could use a style like:
Code:
section {margin-top:1em}
Better markup also makes styling easier. That's it for my nitpicking. Just use the CSS I opened with. :P