Looks like my code was mostly working, but the debugging displays were misleading me. Anywhooo, it seems to be working well enough now, although I had to deal with converting German special characters for the article titles: one way for the link display, and a second way for the actual title used and the link itself.
Now the database generates lists of articles related to the main article and if those sub-articles don't exist yet, it creates them, putting a standard bit of text, modified by the article title, including another Extension tag that pulls data out of the database for the sub-article.
With 40 main articles and an average of 50 sub-articles, that saves me having to manually copy and paste the starter text into 2000 new articles. (And there will probably be more main articles in the future, up to 10-200x these first 40.)
James