1) What is the "delimiter'"? For the sake of discussion, let's assume it to be a space. 2) What defines "characters in a string"? If the "string" is a name like "George Washington", the lenght of the "string" is 17 characters. This could be determined by redefining the variable as a table and count from the end until the first non-space character is reached. If we count from the left until the first delimiter (aka space) is reached, the routine would only count 6 characters. If we simply count non-space characters, the result would be 16. These are not COBOL issues, I'd ask the same for any programming language.
If a bug is located in a program product which simply cannot be fixed, it becomes a 'feature'. (IBM)