Just to circle back on this, as with many things I do…I wound up throwing away 95% of the work I'd done, because I wasn't happy with the way it was working. Instead, I tackled another project I'd been meaning to figure out for a while: How to use the HTML Input Form just for display, not for input.
Net net, I'm still using your AppleScript to position the input window (still can't figure out how to make it active, though, but that's a minor inconvenience), but my help window is now just a single pane of HTML and CSS that I build on the fly.
By doing this, I can also make it much easier to use—it's one window that integrates both help sources, and the scrolling table beats two long text windows any day:
So much better than what I had—none of which was your fault, just me going about things in the wrong way. The key to happiness was learning about this...
document.write(window.KeyboardMaestro.GetVariable('KMvar'));
Which I discovered in this forum thread. Instead of just dumbly showing two text boxes, I build a set of HTML and CSS variables (to keep the editing easier), mash them all together, then display the result:
The "For Each" and "Switch" variables do the work of creating each row in the table, and handling the two help data sources; everything else is just static text.
If anyone else is looking for more control over text in windows, creating a set of HTML+CSS variables and then displaying them via a Custom HTML Prompt provides a lot more control over both the display of the content and the appearance of the window.
-rob.