Why entity_metadata_wrapper->save() doesn't update node's revision?
When you edit a node via the UI, it is done via node_form().  This has a call near the top to node_object_prepare(), which sets up default values for that node.  This includes setting the default value of $node-&gt;revision, which is used by node_save() to determine whether a new revision is needed or not.

The Entity API is revision aware, but node_object_prepare() is a node-specific thing.  This means that you need to manage the values yourself, including setting the revision property to mimic what the node edit form will do.