I've discovered that the issue where WebHelp help does not display when served via an application server or when only BOM characters are displayed is caused by improper file encoding in the Flare Resource files.
The en-us Resource files do not follow the RFC.
There are a several things that are necessary to ensure that UTF-8 files work properly:
First, the encoding type is UTF-8, not utf-8. It does make a difference. encoding="UTF-8" is how the encoding attribute should always appear.
Second, if the file has the encoding="UTF-8" attribute, then the editor that saved that file must also save it as UTF-8, not ANSI.
Third, UTF-8 does not use byte ordering, and therefore, should not include the Byte Order Markers (). It is not properly handled because its use is not required by the RFC. One of the JavaScript files even has it twice, once at the beginning and once more in the middle.
Fourth, when a file includes the unnecessary UTF-8 BOM, it should probably have encoding="UTF-8", not encoding-"utf-16" (Flare.app\Resources\WebHelp\Default.flwht\Navigation.htm, being one example)
Flare's Resource files are a mish-mash of files having improper encoding attributes (utf when UTF is the requirement), unnecessary UTF-8 BOM for UTF-8 files and sometimes on UTF-16 files, and files with an encoding attribute that have been saved as some other type.
I have only looked through the en-us files. There may or may not be similar problems in the files for en-uk and the Resources for the UTF-16 languages. I do know, that MadCap has used utf instead of UTF almost everywhere.
All of this is behind the scenes action that writers should never need to ever deal with.
I'm going to prepare a procedure that you can use to clean up the file encoding using a hex editor. If you're in need of it, PM me with your email address and I'll forward a copy to you when it's ready (~2 days). I need to publish today.
I've lost three workdays troubleshooting this issue and I don't think anyone else should need to struggle with opaque problems caused when their help files weren't properly encoded through no fault of their own.