Rename attrib table field

I’m trying to rename an attribute table field (see code snippet below, Sf is a shapefile object).

        'Renames a field in the shapefile's attribute table
        Dim FldIdx As Integer
        If Sf Is Nothing Then Return False
        FldIdx = Sf.FieldIndexByName(CurrentFldName)
        If FldIdx < 0 Then Return False
        Dim Fld As MapWinGIS.Field = Sf.Table.Field(FldIdx)
        Fld.Name = NewFldName
        ' check the change
        FldIdx = Sf.FieldIndexByName(NewFldName)
        Dim Ok As Boolean = Sf.SaveAs(FullFileName)
        ErrMsg2 = Sf.ErrorMsg(Sf.LastErrorCode)

All goes well, but it will not save the shapefile (no errors though).
I can’t find anything wrong with the shapefile.
As a workaround I could add a new field, copy the contents of the old one and delete the old field, but I’m trying to keep it simple.
Any suggestions would be welcome?