SBT is a HUGE beast of an accounting system. I used to work with it from its MS-DOS days through the early 2000's. Sometimes, the only way I was able to find out how / where things were being done was by forcing the debugger to stop at a given point and stepping through one method at a time. You already have a good point that you are trying to force a value after the inbound has been parsed.
A little more information might help, such as which version of SBT are you working with. I know that SBT was bought out by AccPac a long time ago, but some still might recognize it by either name reference.
Although I do have a somewhat old copy, it might give me enough to help you through some of SBT's data management classes to find out what is up. So, what version of SBT are you running?, and it may be that you might need to provide the class that is doing the parsing. However, with respect to the class, since there are so many levels of inheritance, please let me know the class, the parent class, it's parent class, etc up the chain. You may need to go to each parent level so I know the underlying origin from SBT's infrastructure to look into more detail on.
Found a link for their site...
http://www.ecinternet.com/eci_home_partners.html
They developed their package from pulling engineer from the AccPac / SBT solutions. You might be able to get some assistance from them more directly and see if it is a bug or not that has subsequently been corrected.