Depois de pesquisar um pouco mais, encontrei o seguinte link que sugere que é um bug do MySQL:https://groups.google.com/forum/#!topic/sqlalchemy/ajYLEuhEB9k
Felizmente, desativando
supports_san_multi_rowcount
ajudou! engine = engine_from_config(settings, 'sqlalchemy.')
engine.dialect.supports_sane_rowcount = engine.dialect.supports_sane_multi_rowcount = False
Bom o suficiente para mim por enquanto. Aqui estão outros recursos interessantes que encontrei ao longo do caminho para lidar com o postgresql:https://bitbucket.org/zzzeek/sqlalchemy/issue/3015/deletes-executed-twice-when-using