here is the example code that works - XFlatGraph is a listS, listS adjacency_list. Note if I replace the remove edge expression with remove_edge(*iter, _graph) the edge is intermittently not removed
// Remove edges marked as simualtion only
scheduled_for_removal.unique();
for(std::list<XFlatView::edge_descriptor>::iterator iter = scheduled_for_removal.begin();
iter != scheduled_for_removal.end();
++iter)
{
remove_edge(source(*iter, graph), target(*iter,graph), graph);
}