Unfortunately, it's not feasible for me to truncate the BPM values of my entire collection. Traktor is currently the only program I've used that has a problem with decimal BPM values.
I should also note that Traktor will ignore analysis lock when the BPM is listed as zero. The software can obviously interpret and utilize decimal BPM values just fine.
Currently, I'm interpreting this functionality as 'our BPM decimal values are okay, but yours are not'. Pick one please: decimal or rounded values that match in the collection and in the written file tag. In my opinion, regardless of the ID3 standard, Traktor showing 137.95 and then writing 138 to the file is misleading. When writing tag data to files, however, Traktor will write rounded integer values (137.95 becomes 138). I find this baffling because Traktor-analyzed BPM values are decimal values that are stored in the collection NML. I changed the BPM to 136 (no decimal) before adding it to the collection and Traktor 3.5.3 picked up 136 as the default instead of zero.