Scripting: separating selection results in edgeless mesh
Instead of selecting vertices of the bmesh, one should additionally select the corresponding edges and faces to create a new mesh containing them. It seems that when programmatically operating on a bmesh blender is a bit more literal on what you select than it is when selecting manually in edit mode.