Sicuramente le probabilità di errore aumentano con l'aumentare degli account, ma è anche vero che basta avere due schede vodafone, e quindi due vodafone-sms impostati, e importare prima i servizi e poi la rubrica per avere l'errore anche con solo due account.
Il problema nasceva dal fatto che nell'importazione avevo seguito questo procedimento: se è presente nei servizi, un account di uno stesso service utilizzato dall'account associato al numero in freesmee, allora deve associare quell'account già presente, ed ovviamente essendocene due, prende il primo che trova( da qui il fatto che prendeva o2 -1). Se invece non c'è, allora doveva lasciare il nome originale dell'account associato, in attesa magari che il servizio venga creato dopo, o importato con lo stesso nome.
Ma non so perchè avevo dimenticato l'ipotesi che il servizio esistesse già con lo stesso nome negli account impostati, e ora ho aggiunto che se lo trova con lo stesso nome, deve utilizzare quello.
Le altre opzioni credo siano necessarie perchè non è detto che l'account sia presente, ed associarne uno comunque simile è la migliore cosa.
Mi rendo conto che è un casino per capire quel che ho scritto..però ho voluto comunque spiegare.
L'errore invece di SMS+ era dovuto a un errorino nella ricerca service (una virgoletta dimenticata nella ricerca dell'id del service) e dal fatto che non avevo imposto che se il servizio non è presente nel service.xml, allora deve lasciare vuoto lo spazio dell'account associato. Adesso al posto di sms+ o free+ vedrai uno spazio vuoto.