I've been poking at this some more. It appears that the custom shape node's MPxSurfaceShapeUI::select method does get called during vertex snapping (if you're moving a vert on another mesh, say). No matter what I've tried, though, Maya always ignores the vertex I add to the MSelectInfo object, instead choosing vertices on other, ordinary Maya meshes.
Does anyone know what the secret is to creating vertex selections that Maya will consider acceptable snap targets?
Thanks,
James