Na początku ustawia Pan termin płatności nie dla płatności dokumentu, a dla formy płatności co i tak nie zostanie uwzględnione przy zapisie bo operuje Pan na encji pobranej z bazy, a nie na obiekcie biznesowym formy płatności (IFormaPlatnosci).
Funkcja DodajPlatnoscOdroczona zwraca kolekcję utworzonych płatności odroczonych i najlepiej to na niej wykonywać operację zmiany terminu:
IEnumerable<PlatnoscDokumentu> platnosciOdroczone = faktura.Platnosci.DodajPlatnoscOdroczona(formaPlatnosci, faktura.Dane.Wartosc.BruttoPoRabacie);
foreach (PlatnoscDokumentu platnoscOdroczona in platnosciOdroczone)
platnoscOdroczona.TerminDni = ...;
Podejrzewam, że w Pana przypadku dokument przed dodaniem zawiera już jakieś płatności domyślne przez co termin ustawia Pan nie na tej płatności co trzeba.