Nur ist ShellExecute schlicht und ergreifend
falsch.
Die Unterstützung des HLP-
API ist in Delphi eingebaut! Der entsprechende Befehl ist seit Windows 95 vorhanden und erlaubt u.a. auch die gezielte Anzeige eines Hilfethemas. Das kannst du mit ShellExecute nicht machen.
Und auch bei CHM-Hilfedateien würde ich von ShellExecute abraten. Das setzt nämlich voraus, dass der CHM-Typ im System bekannt ist. Unter 95 und NT muss das aber nicht der Fall sein. Außerdem bietet das CHM-
API ebenfalls die besseren Möglichkeiten (Anzeige bestimmter Themen, Indexauswahl, usw.)
Ich kann dir nichts vorschreiben, aber wenn du es mit deiner HLP-Datei richtig machen willst, dann nimm nicht ShellExecute.