I want to discover all vertices that are affected by a Shape Key.

I think this would involve comparing each vertex location for a key_block when its value is 0 and 1.  However the following attempt doesn't produce any result:

    import bpy, bmesh
    
    shapeKeyName='Key 1'
    
    o=bpy.context.object
    #bpy.ops.object.mode_set(mode='EDIT')
    m=bmesh.new()
    m.from_mesh(o.data)
    m.verts.ensure_lookup_table()
    sk=bpy.context.object.data.shape_keys
    
    for v in m.verts: #o.data.vertices:
        bpy.context.object.data.shape_keys.key_blocks[shapeKeyName].value=0
        co_basis = v.co
        bpy.context.object.data.shape_keys.key_blocks[shapeKeyName].value=1
        co_shape = v.co
        if co_basis != co_shape:
            print( shapeKeyName, 'affects vertex', v.index, co_basis, 'vs', co_shape )

I see at the end of the loop, key_blocks[shapeKeyName].value ends up at value 1 and the shape key is applied properly.