Thanks Nita for confirming what I'd already tried. I did exactly the same as Nita (tried it in my project, and checked the structure and content carefully by eye and in Notepad++), and couldn't find anything wrong. But I held off posting as I thought I may have missed something obvious, and I did observe a couple of oddities and was still deep in thought.
- When I deliberately introduced an error into your stylesheet (I deleted a "}"), Flare didn't report an error, whereas if I deliberately introduced an error into one of my stylesheets, Flare does report an error. I had already set up one of my targets to use your stylesheet, and added a temporary topic to it that used a few of your styles.
- When I applied your styles initially, I had to hard-code them in the XML. They weren't available for selection in the styles window.
- When I tried to delete your stylesheet from my project, I couldn't (and still can't) because of some odd permission issue. This is a really weird one, since I'd just copy-pasted your code into a new text file. But we've just changed our Perforce server and updated our Perforce client software, and I used Perforce to try to revert the files I'd been fiddling with. All other files reverted fine, except this one. This could be a Perforce issue, or there could just possibly be something odd about your content (perhaps odd characters in your file)?.
So, like Nita, I agree the problem you are seeing could be due to some interaction with something else in your project.
This is what I'd try next. I'd do a binary chop of your style sheet (comment out about half of it) and see if the problem goes away. If it does, the problem is likely to be in the bit you commented out, so reinstate about half of that and try again. If it's still present, the problem is likely to be in the bit you didn't comment out, comment out half of that too and try again. Eventually, you should be able to nail the area with the problem. But bear in mind that the problem may be in more than one place, so if you get down to one style definition that is a problem, even if you just remove that one, you may find there are others, or the problem may be some sort of interaction. And as you comment out styles, other things may go wrong not related to your original problem, but so long as you're aware of that, this can be a very useful technique.
If you want my hunch as to where to start (just a hunch, mind) I'd remove any style with "pagebreakbefore" in the name, and the style that immediately precedes it and the style that immediately follows it (that's the area in which Flare thinks it has a problem). I'd also remove any style with a "-" in the name, for example, "h2.heading-2Preface" . So far as I'm aware, that's a perfectly valid name for a style, but just look at how it is colour-coded in Flare's text editor - Flare clearly hasn't understood something about this character sequence. So that may just be where the problem has crept in.
And of course, if this stylesheet used to work OK, I'd compare the current version against a known good version, and suspect any areas that have changed.