Given the rounding appears to be happening with only a few records, and not all of the records, it makes me think something is up with the data at some level. If there was a rounding bug in general, you would see many more or all of the rows being impacted.
What are the data sources of the two tables being joined? File geodatabases? Shape files? Something else?
If you run the following code in the interactive Python window, what does it return for the 2 fields in question:
lyr =
desc = arcpy.Describe(lyr)
for fld in desc.fields:
print fld.name, fld.type, fld.length, fld.precision, fld.scale