Die Idee mit dem eigenen HTTP-Server ist eigentlich gut.
Man kann dafür in die eigene Hilfe auch 'nen HTTP-Server einbauen, der muss ja nicht viel können, sondern nur die
HTML-Seiten aus der ZIP, dem EPub ... holen und in der eigenen Anwendung an den TWebBrowser ... liefern. Oder halt die Hilfeseite aus 'ner Datenbank dynamisch erstellen.
Einziges Problem: Der Webserver muss sich einen freien Port suchen, da man den bei 'nem Framework, das mehrere Programme nutzen, nicht fest vorgeben kann (sonst bekommt man eventuell die falsche Hilfe angezeigt

). Da aber nur das eigene Programm zur Laufzeit diesen Port kennen muss, ist das kein Problem.
Funktioniert in meiner Hilfe schon seit Jahren