How do I use python to independently animate the shape keys on several instances of a mesh?
The code I have developed since asking the question looks like this:

def cow_clone():
    orig = bpy.data.meshes['grazer']
    copy = orig.copy()
    # that conveniently copied our shape keys too
    return copy


and

def gobble(obj, frame5):

    data_path = "key_blocks[\"close mouth\"].value"

    shape_key = obj.data.shape_keys
    key_block = shape_key.key_blocks["close mouth"]

    key_block.value = 1
    shape_key.keyframe_insert(data_path, frame=frame5-35)
    shape_key.keyframe_insert(data_path, frame=frame5-10)
    key_block.value = 0
    shape_key.keyframe_insert(data_path, frame=frame5-30)
    shape_key.keyframe_insert(data_path, frame=frame5-20)


So copy()ing the mesh datablock conveniently copies the shape_keys (which is good, because shape_keys seems to be read-only).  Since I currently only have 10 of these meshes, it will not break the bank.  Although when I get around to doing the 320 flowers that will probably bloat the file a bit.  I am optimistic that it will not really stress blender at these numbers.

While this code works, I'm just dissatisfied with it; so I'm not going to accept this answer just in case someone smarter than me comes up with a better tactic, or maybe blender reworks its shape key system in a future release.

I suppose my primary complaint is that you can't make updates to a master mesh and have those updates affect all the derived instances.