So I figured it out. I had to look at MOD_hook.c in the source tree. If you hook to a selected set of vertices, the vertex group is completely ignored. It’s only used if you create the hook modifier by adding it in the modifier stack, then select your vertex group.
If you do this, then the group is used but the behavior makes no sense-- all points effected by then group are pushed towards the object’s local origin, and the hook object specified has no effect. I can’t tell if this is intentional behavior or not but it seems completely illogical to me. There’s also no way to set the verts used after the hook modifier is created?
I think limiting a hook to a selected set of verts is important, but the group weight should always be multiplied against the factor to allow the painting of falloff. Now, I haven’t used hooks in Blender before so I don’t know if that’s not how they were designed, but it’s the only thing that makes sense to me.
Thanks for your help, btw. It’s nice to know that I’m not crazy.