Although you have said the length was set to 3, you did not say whether you declared the field with a format. So, if you have this defined as a Numeric field type, you will need to make sure you did not limit the format to 2 characters. Since these are system generated, you actually could set the fields to Alphanumeric instead of numeric and then you know a format is not being applied from the field definition. But even if Alphanumeric there is also a way in an INI option to define the number format for these values. Not many people use this, but there's an outside chance that you do.
Look in your INIs for an option defined with this name.
If you have it, then you may have to adjust that option.
You may have it defined as Z9 or 99 which would limit the output to 2 characters.
Steps to do.
1. Make sure you have the fields set to Alphanumeric.
2. Make sure the length is set to 3 or more.
3. Make sure you don't have the INI option that defines a default format or that it defines a format large enough for what you want.
Finally, you did not say whether these are regular fields or whether you are trying to embed this field into a text area. Later versions of the product are able to handle the embedding of the system fields in a text area. Older versions did not have that ability to reformat the text area, so you had to leave enough room in the text to hold the largest value you wanted. If that is what you are attempting, you might be using a rule to do a MK_HARD on the field to start to seed it with a value. If you are, make sure that you are doing that with 3 characters. If you are only assigning 2 characters in the rule (in Gendata), and this is embedded in a text area, that might be the issue in your version. If Gendata is not in your mix, then you can ignore this paragraph.
Sorry to throw so much at you, but there are several ways that your results could be affected.