Aight, I think I figured it out, but I'm not sure why this is happening.
My module's development is the classic large contrainer ascx control with smaller ascx controls loaded dynamically into it.
ModuleID and other module level values are available to the large contrainer ascx, but are not available to the smaller controls loaded into it.
This became quite obvious when ModuleID returned -1 from within one of these smaller controls.
So I guess either one of two things are happening. Either this behavior is by design and I just have to add support code to fix it, or I'm not properly inheriting.
Either way, now that I have the ModuleID, I can call up the settings manually, but it doesn't feel right, so I'm hoping someone can point out examples of the "proper" approach.