Cathal, thank you very much for taking the time to reply. The examples you provided are fantastic for seeing how to create a SectionHead programmatically. Nice stuff.
I fixed the issue. It appears that the syntax for SectionHead control has NOT changed between DNN 4.3.5 and DNN 7.2.1.
There were multiple causes to the problem I was experiencing. The one issue was that the SectionHead control was invisible by default, and it was only made visible when the DataBind() event fired, and the DataBind() event was not firing automatically. The fix was to call DataBind() within the OnLoad() event. I'm not sure how the DataBind() event is magically firing in the old DNN 4.3.5 installation without being called, though. That's still a mystery.
A second problem was due to misconfigured CSS. Now that the SectionHead control was appearing, the text was white-on-white. Duh! An easy fix, though.
By the way, this user control is a copy of the old User.ascx control from DNN 4.3.5 that's been modified with extra logic.
Anyway, it's working, and I appreciate the help.