Well, not quite - you may have forgotten how you wrote the program, or maybe this stuff is hidden in the form editor...
I got to poking around with ResHack and fixed the drop zones (in my personal copy, at any rate). They are all in the main form, which is amenable to text editing. The labels are in the main form too, but they are also initialized somewhere, so even after fixing the form and deleting the settings files, a fresh start labels field 4 as field 3, although the drop zone and the %f4 variable work properly.
I was able to fix that one with a hex editor by looking for a place in the software where there was a set of data going field 1, field 2, field 3, field 3, at hex 2A01B9 - the nearby text is
Settings\0Field1Caption\0Field 1 (%f1,%F1)\0Settings\0Field1Text\0\0
Settings\0Field2Caption\0Field 2 (%f2,%F2)\0Settings\0Field2Text\0\0
Settings\0Field3Caption\0Field 3 (%f3,%F3)\0Settings\0Field3Text\0\0
Settings\0Field3Caption\0Field 4 (%f4,%F4)\0Settings\0Field4Text\0\0
^
note duplicated Field3
These names don't appear in the text form. It might be an error in the initializing/reading/writing of the ini file, but I'm just guessing.
Good luck with it. The edited form is attached, but it fixes the drop zones, not the labels.