See unit test AddField in D:\dev\MapwinGIS\unittests\MapWinGISTests\ShapefileTests.cs
I can create a field and accidentally switch the precision and width parameters, making width = 0.
This doesn't create the field, the field is removed after saving, but sf.Table.EditAddField returns a valid index and sf.NumFields is increased.
EditAddField should return -1, the proper error messages should be set and NumFields should not be changed.