Just a note to myself as I know I will have to answer this again. After the sales order item is delivered (even partially) the item is no longer scheduled. So what happens: the material availability date is calculated and all other dates are set equal to the delivery date (see FAQ OSS note 547508 item 2).
For example this was the item with correct schedules (the item was partially delivered):
And after a change in the item the scheduling becomes:
So the goods issue date is not the most reliable date, better use the delivery date or material availability date. The code responsible for this behavior is in FV45VFMV_MVERF_AUFBAUEN_WMENG line 763.
XVBEP-MBDAT = DA_DATUM.
XVBEP-LDDAT = DA_XVBEP-EDATU.
XVBEP-TDDAT = DA_XVBEP-EDATU.
XVBEP-WADAT = DA_XVBEP-EDATU.
There is a possible fix by applying OSS note 833272, but this note (at least currently) is a special development not something going into support packages.