The calculated mass (calc_neutral_pep_mass in the pep.xml output) can vary at the 6th decimal point between replicate searches. To address this precision issue, possibly recalculate the mass during post processing. Within 5 replicate searches of ~58K spectra, this shows up in about 10 to 30 of the output PSMs.
In CalculateSP(), evaluate code below.
double dNewMass = dBion